2011-02-03 39 views
1

我正在處理JSON的大斑點。隨着時間的推移,這些斑點會稍微變化,並保留修訂歷史記錄。我真的很希望能夠對他們做一個視覺比較,但我的問題是他們沒有任何格式存儲 - 一切都在一條線上,所以這使得有點難以看出發生了什麼變化。如何可視化地格式化JSON數據(以編程方式)?

有沒有一種很好的方式來編程他們ala http://jsonformat.com/http://jsonformatter.curiousconcept.com/

回答

2

如果Python是可以使用的語言之一:

>>> j='{ "tstr" : "xxx", "tarrr" : [ "a0", "a1" ] }' 
>>> import json 
>>> a=json.loads(j) 
>>> print json.dumps(a, indent = 4, sort_keys=True); 
{ 
    "tarrr": [ 
     "a0", 
     "a1" 
    ], 
    "tstr": "xxx" 
} 
請問

幫助呢?

編輯:

這裏的一個Python腳本採用單個有效的JSON對象在它的標準輸入和輸出其格式化版本在其標準輸出:

#!/usr/bin/python 

import json 
import sys 

print json.dumps(json.load(sys.stdin), indent = 4, sort_keys = True) 

用法例如在Linux:

$ echo '{ "tstr" : "xxx", "tarrr" : [ "a0", "a1" ] }' | ./json-format.py 
{ 
    "tarrr": [ 
     "a0", 
     "a1" 
    ], 
    "tstr": "xxx" 
} 

here是Python JSON模塊的文檔。

+0

感謝您的回答。我不確定這個應用程序的上下文(asp.net)有多可行,但我會進一步研究它以查看我的選項。 (還添加了asp.net標籤來澄清技術堆棧問題 - 應該首先做到這一點!) – 2011-02-04 17:38:05

+0

嗯,我用IronPython處理了我的JSON數據並從C#調用它 - 現在看看是否所有這些瘋狂是我可以實際合理地整合/分發爲目標應用程序的插件。 – 2011-02-05 17:59:33