在線JSON格式化

全屏顯示
1
X
😉 阿裡雲幸運券,戳我領取

工具簡介

JSON是JavaScript Object Notation的縮寫,它是一種數據交換格式。

在JSON出現之前,大家一直用XML來傳遞數據。因為XML是一種純文本格式,所以它适合在網絡上交換數據。XML本身不算複雜,但是,加上DTD、XSD、XPath、XSLT等一大堆複雜的規範以後,任何正常的軟件開發人員碰到XML都會感覺頭大了,最後大家發現,即使你努力鑽研幾個月,也未必搞得清楚XML的規範。

終于,在2002年的一天,道格拉斯·克羅克福特(Douglas Crockford)同學為了拯救深陷水深火熱同時又被某幾個巨型軟件企業長期愚弄的軟件工程師,發明了JSON這種超輕量級的數據交換格式。

由于JSON非常簡單,很快就風靡Web世界,并且成為ECMA标準。幾乎所有編程語言都有解析JSON的庫,而在JavaScript中,我們可以直接使用JSON,因為JavaScript内置了JSON的解析。

為了方便地處理JSON數據,JSON提供了json.js包,下載地址:http://lib.sinaapp.com/js/json2/json2.js

在數據傳輸流程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對象,所以,JSON對象和JSON字符串之間的相互轉換是關鍵。例如:

JSON字符串:

var str1 = '{ "name": "cxh", "sex": "man" }';

JSON對象:

var str2 = { "name": "cxh", "sex": "man" };

一、JSON字符串轉換為JSON對象

要運用上面的str1,必須運用下面的要領先轉化為JSON對象:

//由JSON字符串轉換為JSON對象

var obj = eval('(' + str + ')');

或者

var obj = str.parseJSON(); //由JSON字符串轉換為JSON對象

或者

var obj = JSON.parse(str); //由JSON字符串轉換為JSON對象

然後,就可以這樣讀取:

Alert(obj.name);Alert(obj.sex);

特别留心:如果obj本來就是一個JSON對象,那麼運用 eval()函數轉換後(哪怕是多次轉換)還是JSON對象,但是運用 parseJSON()函數處理後會有疑問(抛出語法異常)。

二、可以運用 toJSONString()或者全局要領 JSON.stringify()将JSON對象轉化為JSON字符串。

例如:

var last=obj.toJSONString(); //将JSON對象轉化為JSON字符

或者

var last=JSON.stringify(obj); //将JSON對象轉化為JSON字符

alert(last);

留心:

上面的多個要領中,除了eval()函數是js自帶的之外,其他的多個要領都來自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 兩個要領都注入到了 Javascript 的内建對象裡面,前者變成了Object.toJSONString(),而後者變成了String.parseJSON()。如果提示找不到toJSONString()和parseJSON()要領,則說明您的json包版本太低。

工具推薦

在線工具大全