Comment analyser une liste d'objets JSON pour séparer les colonnes ?J'essaie d'importer les données suivantes dans JMP, mais tous les objets de données externes se retrouvent dans la même colonne. Existe-t-il un moyen de l'obtenir dans des colonnes séparées? Je le fais fonctionner avec des valeurs numériques mais pas avec des chaînes. Toutes les chaînes se retrouvent dans les mêmes colonnes avec des valeurs séparées par des virgules. Merci pour votre aide.
[{
"id": 1234,
"date": "2022-04-06",
"batch": {
"id": 1553,
"date": "2022-02-01"
},
"externalData": [
{
"orderNumber": 1,
"batchNumber": "bo09",
"partNumber": 121
},
{
"orderNumber": 1,
"batchNumber": "hoi112",
"partNumber": 129
},
{
"orderNumber": 1,
"batchNumber": "1ka10",
"partNumber": 432
} ,
{
"orderNumber": 1,
"batchNumber": "11la0",
"partNumber": 432
}
]
},{
"id": 1234,
"date": "2022-04-06",
"batch": {
"id": "1553",
"date": "2022-02-01"
},
"externalData": [
{
"orderNumber": 1,
"batchNumber": "14",
"partNumber": 121
},
{
"orderNumber": 1,
"batchNumber": "112",
"partNumber": 129
},
{
"orderNumber": 1,
"batchNumber": "110",
"partNumber": 432
}
]
}]Tableau de donnéesRe : Comment analyser une liste d'objets JSON pour séparer les colonnes ?Écrire des formules distinctes pour chacun des résultats est une option

Parse JSON(:Column 1[1])["res1"];
Cela peut également être scripté pour être plus automatique
Re : Comment analyser une liste d'objets JSON pour séparer les colonnes ?Si mes données JSON ne sont pas un fichier mais une colonne dans une table de données existante, comment puis-je analyser le JSON en colonnes séparées ? Dans l'exemple de capture d'écran ci-dessous, je souhaite analyser la colonne "résultats" en 3 colonnes distinctes : résultat1, résultat2, résultat3.

Re : Comment analyser une liste d'objets JSON pour séparer les colonnes ?Selon l'apparence que vous souhaitez donner aux données, il se peut que l'assistant JSON ne puisse pas les formater comme vous le souhaitez.
Assistant d'importation JSON avec Huge Guess (Wide fonctionnera probablement aussi):

Ensuite, vous pouvez séparer batchNumber dans différentes colonnes :

Ou en utilisant des paramètres un peu plus compliqués de l'assistant d'importation JSON :

Et à partir de là, vous pouvez utiliser différents outils proposés par JMP pour diviser/empiler/transposer les données.
Vous pouvez également laisser batch.id avec des valeurs vides et l'utiliser pour calculer l'index de la liste

If(Row() == 1, val = 0);
If(Is Missing(:batch.id),
val,
val
++);
val;
Re : Comment analyser une liste d'objets JSON pour séparer les colonnes ?Merci pour votre réponse! J'ai essayé les différentes options de l'assistant d'importation, mais je voudrais séparer la liste en différentes colonnes et non en lignes comme dans votre solution. Y-a-t-il un moyen de faire ça?
Re : Comment analyser une liste d'objets JSON pour séparer les colonnes ?Avez-vous essayé les différentes options que vous propose l'assistant d'importation JSON ? Voici par exemple Wide Guess avec Stack activé :

À quoi voulez-vous que les données ressemblent ?
Re : Comment analyser une liste d'objets JSON pour séparer les colonnes ?Salut @Lovisa ,
Selon la version de JMP que vous utilisez, vous pouvez importer le fichier JSON directement dans JMP à l'aide de la commande Fichier Ouvrir.
Import JSON File-->OpenImporter un fichier JSON --> Ouvrir
Import JSON Red Triangle Option Tall FormatImporter le format haut de l'option Triangle rouge JSON
Sélectionnez l'option "Tall guess" dans l'option de menu triangle rouge.
Et après avoir cliqué sur OK, vous obtenez la table de données JMP avec un script source que vous pouvez réutiliser au besoin pour importer des fichiers supplémentaires.
Open(
"$Desktop/example_json.json",
JSON Settings(
Stack( 0 ),
Row( "/root/externalData" ),
Col(
"/root/externalData/orderNumber",
Column Name( "orderNumber" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
),
Col(
"/root/externalData/batchNumber",
Column Name( "batchNumber" ),
Fill( "Use Once" ),
Type( "Character" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
),
Col(
"/root/externalData/partNumber",
Column Name( "partNumber" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
)
),
JSON Wizard( 0 )
)
à votre santé,
Stan