Come analizzare un elenco di oggetti JSON per separare le colonne?Sto cercando di importare i seguenti dati in JMP ma tutti gli oggetti di dati esterni finiscono nella stessa colonna. C'è un modo per ottenerlo in colonne separate? Lo faccio funzionare con valori numerici ma non con stringhe. Tutte le stringhe finiscono nelle stesse colonne con valori separati da virgole. Grato per il tuo aiuto.
[{
"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
}
]
}]Tabella datiRi: Come analizzare un elenco di oggetti JSON per separare le colonne?Scrivere formule separate per ciascuno dei risultati è un'opzione

Parse JSON(:Column 1[1])["res1"];
Questo può anche essere programmato per essere più automatico
Ri: Come analizzare un elenco di oggetti JSON per separare le colonne?Se i miei dati JSON non sono un file ma sono una colonna in un datatable esistente, come posso analizzare il JSON in colonne separate? Nello screenshot di esempio qui sotto, voglio analizzare la colonna "risultati" in 3 colonne separate: result1, result2, result3.

Ri: Come analizzare un elenco di oggetti JSON per separare le colonne?Dipende da come vuoi che appaiano i dati, potrebbe essere che la procedura guidata JSON non possa formattarli come desideri.
JSON Import Wizard con Huge Guess (molto probabilmente funzionerà anche Wide):

Quindi puoi separare batchNumber in colonne diverse:

Oppure utilizzando le impostazioni dell'Importazione guidata JSON un po' più complicate:

E da qui puoi utilizzare diversi strumenti offerti da JMP per dividere/impilare/trasporre i dati.
Puoi anche lasciare batch.id con valori vuoti e usarlo per calcolare l'indice dell'elenco

If(Row() == 1, val = 0);
If(Is Missing(:batch.id),
val,
val
++);
val;
Ri: Come analizzare un elenco di oggetti JSON per separare le colonne?Grazie per la tua risposta! Ho provato le diverse opzioni nella procedura guidata di importazione, ma vorrei separare l'elenco in diverse colonne e non in righe come nella tua soluzione. C'è un modo per farlo?
Ri: Come analizzare un elenco di oggetti JSON per separare le colonne?Hai provato le diverse opzioni che JSON Import Wizard ti offre? Ecco ad esempio Wide Guess con Stack abilitato:

Come vuoi che siano i dati?
Ri: Come analizzare un elenco di oggetti JSON per separare le colonne?Ciao @Lovisa ,
A seconda della versione di JMP in uso, puoi importare il file JSON direttamente in JMP utilizzando il comando Apri file.
Import JSON File-->OpenImporta file JSON-->Apri
Import JSON Red Triangle Option Tall FormatImporta JSON Red Triangle Option Formato alto
Seleziona l'opzione "Tall guess" dall'opzione di menu del triangolo rosso.
E dopo aver fatto clic su OK si ottiene la tabella dei dati JMP con uno script di origine che è possibile riutilizzare secondo necessità per importare file aggiuntivi.
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 )
)
Saluti,
Stan