Mam problem, który chciałbym rozwiązać, aby nie musiał spędzać dużo pracy ręcznej, aby analizować jako alternatywę.JSON diff dużych danych JSON, znajdowanie JSON jako podzestawu innego JSON
Mam 2 obiekty JSON (zwracane z różnych interfejsów API usług internetowych lub odpowiedzi HTTP). Między dwoma obiektami JSON są przecinające się dane i mają one podobną strukturę JSON, ale nie są identyczne. Jeden JSON (mniejszy) jest jak podzbiór większego obiektu JSON.
Chcę znaleźć wszystkie interlinujące dane między dwoma obiektami. Właściwie bardziej interesują mnie wspólne parametry/właściwości w obiekcie, a nie rzeczywiste wartości parametrów/właściwości każdego obiektu. Ponieważ chcę ostatecznie użyć danych z jednego wyjścia JSON do skonstruowania innego JSON jako wejścia do wywołania API. Niestety, nie mam dokumentacji, która definiuje JSON dla każdego interfejsu API. :(
To, co sprawia, że jest to trudniejsze, to obiekty JSON są ogromne.Jedna strona obejmuje stronę, jeśli wydrukujesz ją za pomocą Notatnika systemu Windows, pozostałe strony 37 stron Interfejsy API zwracają wynik JSON skompresowany jako pojedyncza linia. porównaj nie robi wiele, musiałbym ponownie sformatować ręcznie lub w/skrypt, aby rozbić obiekt w/znaki nowej linii itp. dla porównania tekstu, aby działał dobrze. Próbowano za pomocą narzędzia Beyond Compare
Mogę zrobić instrukcję search/grep, ale to jest trudny cykl, aby przechodzić przez wszystkie parametry wewnątrz mniejszego JSON.Może napisać kod, aby to zrobić, ale musiałbym też poświęcić czas na to i sprawdzić, czy kod działa również. zrobiłem kod już za to ...
Lub może szukać narzędzi typu diff typu JSON. Szukano niektórych. Natknąłem nich:
https://github.com/samsonjs/json-diff lub https://tlrobinson.net/projects/javascript-fun/jsondiff
https://github.com/andreyvit/json-diff
zarówno udało się zrobić to, co chciałem. Przypuszczalnie JSON jest albo zbyt skomplikowany, albo zbyt duży, aby go przetwarzać.
Jakieś przemyślenia na temat najlepszego rozwiązania? A może najlepszym rozwiązaniem na razie jest ręczna analiza w/grep dla każdego parametru/właściwości?
Pod względem rozwiązania kodu, zrobi to każdy język. Potrzebuję tylko narzędzia analizatora składni lub narzędzia różnicowego, które zrobi to, co chcę.
Niestety, nie możemy udostępnić struktury danych JSON z tobą, może to być uznane za poufne.
zdajesz sobie sprawę, że można łatwo całkiem-print dane JSON z nowymi liniami i wcięcia? –
FWIW: 37 wyświetlanych stron tekstu JSON jest dalekie od "ogromnych"; Nie uznałbym tego wydarzenia za "duże", ale raczej "nie małe". –
@ user1689607, jak ładnie drukować dane JSON? Nie jestem programistą stron internetowych ajax/jquery/js, nie zrobiłem web dev w najnowszej technologii, tylko zrobił nie ajax wiele lat temu. Właśnie testuję aplikacje w dzisiejszych czasach. – David