Ho un problema che mi piacerebbe risolvere per non dover dedicare molto lavoro manuale ad analizzare come alternativa.JSON diff di grandi dati JSON, trovare alcuni JSON come sottoinsieme di un altro JSON
Ho 2 oggetti JSON (restituiti da API di servizi Web diverse o risposte HTTP). Vi sono dati intersecanti tra i 2 oggetti JSON e condividono la struttura JSON simile, ma non identici. Un JSON (il più piccolo) è come un sottoinsieme dell'oggetto JSON più grande.
Voglio trovare tutti i dati di intercettazione tra i due oggetti. In realtà, sono più interessato ai parametri/proprietà condivisi all'interno dell'oggetto, non ai reali valori dei parametri/proprietà di ciascun oggetto. Perché voglio utilizzare i dati di un output JSON per costruire l'altro JSON come input per una chiamata API. Sfortunatamente, non ho la documentazione che definisce il JSON per ciascuna API. :(
Ciò che rende questo più difficile sono gli oggetti JSON sono enormi. Una campate una pagina se si stampa tramite Blocco note di Windows. Le altre campate 37 pagine. Le API restituiscono l'output JSON compressa come una singola riga. Testo normale confrontare non fa molto, dovrei riformattare manualmente o w/script per scomporre l'oggetto w/newline, ecc. per un confronto di testo funzionare bene. Ho provato con lo strumento Beyond Compare.
Potrei fare il manuale search/grep ma è un problema scorrere tutti i parametri all'interno del JSON più piccolo, scrivere codice per farlo ma dovrei anche dedicare del tempo per farlo e testare se il codice funziona anche. codice già creato per quello ...
Oppure è possibile cercare strumenti di tipo diff JSON. Ho cercato un po '. Mi sono imbattuto in questi:
https://github.com/samsonjs/json-diff o https://tlrobinson.net/projects/javascript-fun/jsondiff
https://github.com/andreyvit/json-diff
sia riuscito a fare quello che volevo. Presumibilmente, il JSON è troppo complesso o troppo grande per essere elaborato.
Qualche idea sulla soluzione migliore? O potrebbe la soluzione migliore per ora essere l'analisi manuale w/grep per ogni parametro/proprietà?
In termini di una soluzione di codice, qualsiasi linguaggio lo farà. Ho solo bisogno di un parser o strumento diff che farà ciò che voglio.
Siamo spiacenti, non è possibile condividere la struttura dati JSON con te, può essere considerato riservato.
Sei consapevole che si può facilmente pretty-stampa i dati JSON con a capo e rientro? –
FWIW: 37 pagine di visualizzazione del testo JSON sono lontane da "enormi"; Non lo considererei evento "grande", ma piuttosto "non piccolo". –
@ user1689607, come si possono stampare i dati JSON? Non sono uno sviluppatore web di ajax/jquery/js, non ho realizzato web dev w/ultime tecnologie, solo anni fa non facevo cose ajax. Ho appena provato le app al giorno d'oggi. – David