我有一個問題我想解決,不必花費大量的手動工作來分析作爲替代。大型JSON數據的JSON差異,發現一些JSON作爲另一個JSON的子集
我有2個JSON對象(從不同的Web服務API或HTTP響應返回)。這兩個JSON對象之間有相交的數據,它們共享相似的JSON結構,但不完全相同。一個JSON(較小的一個)就像更大的JSON對象的一個子集。
我想查找兩個對象之間的所有相位數據。實際上,我對對象內的共享參數/屬性更感興趣,而不是每個對象的參數/屬性的實際值。因爲我想最終使用來自一個JSON輸出的數據來構造另一個JSON作爲API調用的輸入。不幸的是,我沒有爲每個API定義JSON的文檔。 :(
什麼讓這個更加困難的是JSON對象是巨大的,如果你通過Windows記事本打印出一個頁面跨越一頁,其他跨越37頁APIs返回壓縮爲一行的JSON輸出。比較沒有太大的作用,我不得不手動重新格式化或w /腳本來打破對象瓦特/換行等文本比較工作良好。試用超越比較工具。
我可以做手動search/grep,但是通過循環遍歷JSON中的所有參數是一種痛苦,可以編寫代碼來做到這一點,但我也必須花時間做這件事,並測試代碼是否也可以工作。已經爲此製作了代碼...
或者可以查找JSON diff類型的工具。搜索了一些。碰到這些:
https://github.com/samsonjs/json-diff或https://tlrobinson.net/projects/javascript-fun/jsondiff
https://github.com/andreyvit/json-diff
都沒有做到我想要的東西。據推測,JSON要麼太複雜,要麼太大而無法處理。
有關最佳解決方案的任何想法?或者可能現在最好的解決方案是對每個參數/屬性進行手動分析w/grep?
就代碼解決方案而言,任何語言都可以。我只需要一個解析器或diff工具來完成我想要的工作。
對不起,無法與您共享JSON數據結構,它可能被認爲是保密的。
你知道,你可以輕鬆地漂亮地打印用換行和縮進的JSON數據? –
FWIW:顯示JSON文本的頁面遠非「巨大」;我不會認爲它是「大」,而只是「不小」。 –
@ user1689607,你如何漂亮地打印JSON數據?我不是ajax/jquery/js web開發人員,還沒有完成web dev w/latest技術,只是在年前沒有使用ajax的東西。我現在只是測試應用程序。 – David