Tengo un problema que me gustaría resolver para no tener que gastar un montón de trabajo manual para analizar como alternativa.JSON diff de datos JSON grandes, encontrando algunos JSON como un subconjunto de otro JSON
Tengo 2 objetos JSON (devueltos desde diferentes API del servicio web o respuestas HTTP). Hay datos que se cruzan entre los 2 objetos JSON, y comparten una estructura JSON similar, pero no idéntica. Un JSON (el más pequeño) es como un subconjunto del objeto JSON más grande.
Quiero encontrar todos los datos de interesecting entre los dos objetos. En realidad, estoy más interesado en los parámetros/propiedades compartidos dentro del objeto, no en los valores reales de los parámetros/propiedades de cada objeto. Porque quiero usar finalmente datos de una salida JSON para construir el otro JSON como entrada a una llamada API. Lamentablemente, no tengo la documentación que define el JSON para cada API. :(
Lo que hace esto más difícil es los objetos JSON son enormes. Uno se extiende por una página si se imprima a través de la libreta de Windows. Los otros tramos 37 páginas. Las API devolver la salida JSON comprimido como una sola línea. El texto normal comparar no hace mucho, tendría que volver a formatear manualmente o w/script para dividir el objeto w/nuevas líneas, etc. para una comparación de texto para que funcione bien. Probé con la herramienta Beyond Compare
Pude hacer manual search/grep, pero es complicado recorrer todos los parámetros dentro del JSON más pequeño. Podría escribir código para hacerlo, pero también tendría que dedicarle tiempo para hacerlo, y probar si el código también funciona. O tal vez haya alguno listo código ya hecho para eso ...
O puede buscar herramientas de tipo JSON diff. Buscado por algunos. Había encontrado con estas:
https://github.com/samsonjs/json-diff o https://tlrobinson.net/projects/javascript-fun/jsondiff
https://github.com/andreyvit/json-diff
tanto no pudo hacer lo que quería. Presumiblemente, el JSON es demasiado complejo o demasiado grande para procesarlo.
¿Alguna idea sobre la mejor solución? ¿O podría ser la mejor solución por ahora el análisis manual w/grep para cada parámetro/propiedad?
En términos de una solución de código, cualquier idioma servirá. Solo necesito un analizador o herramienta de diferencias que haga lo que quiero.
Lo siento, no puedo compartir la estructura de datos JSON con usted tampoco, puede considerarse confidencial.
¿Sabe usted que puede fácilmente agradable para la impresión de los datos JSON con saltos de línea y sangría? –
FWIW: 37 páginas de visualización de texto JSON está lejos de ser "enorme"; No lo consideraría "grande", sino simplemente "no pequeño". –
@ user1689607, ¿cómo imprimes bastante los datos JSON? No soy desarrollador web de ajax/jquery/js, no he desarrollado tecnología web con las últimas tecnologías, solo hace años que no hace ajax. Solo pruebo aplicaciones hoy en día. – David