json文件書寫格式詳解
?JSON是什么
JSON ( JavaScript Object Notation) ,是一種數(shù)據(jù)交互格式。
為什么有這個技術
Json之前,大家都用 XML 傳遞數(shù)據(jù)。XML 是一種純文本格式,所以適合在網(wǎng)絡上交換數(shù)據(jù),但是 XML 格式比較復雜,終于道格拉斯·克羅克福特(Douglas Crockford)發(fā)明了JSON 這種超輕量級的數(shù)據(jù)交換格式。
JSON 如何使用
- 數(shù)據(jù)格式
JSON 實際上是 JavaScript 的一個子集,所以JSON 的數(shù)據(jù)格式和 JavaScript 是對應的:
- number => JS number - boolean => JS boolean - string => JS string // - null => JS null - array => JS Array 的表達方式 [] - object => JS {} 表達式
- 注意事項
- JSON 規(guī)定字符集是UTF-8,字符串必須使用"",Object 的鍵也必須使用""
- 數(shù)組或對象的最后一個成員,不能加 逗號
- JS 內置兩個Json方法
JSON.stringify( {} , [ ] , "") //參數(shù)一 :要序列化的數(shù)據(jù)(object) //參數(shù)二 :控制對象的鍵值,只想輸出指定的屬性,傳入一個數(shù)組 //參數(shù)三 :序列化后,打印輸出的格式(一個Tab ,可以更直觀查看json)
任何把 JavaScript 變成 Json ,就是把這個對象序列化為Json字符串,然后才可以通過網(wǎng)絡傳遞;
收到一個Json格式的字符串,
JSON.parse( json.DATA ) //傳入json字符串
如果我們收到一個JSON格式的字符串,只需要把它反序列化成一個JavaScript對象,就可以在JavaScript中直接使用這個對象了。
實例:
1.數(shù)組方式 [ ]
[{ "id" : 1 , "name" : "xiaoming" },{ "id" : 2 , "name" : "xiaohong" }]
2.對象方式 { }
//前后端分離,推薦后端返回給前端數(shù)據(jù)格式 { "status" : 0 , //執(zhí)行狀態(tài)碼 "msg" : "SUCCESS", //說明文字信息,沒有為NULL "data" :[{ //對象中嵌套數(shù)組,數(shù)組是返回的數(shù)據(jù), "id" : 1 , "name" : "xiaohong" },{ "id" : 2, "name" : "xiaoming" }] }
3.反例
{"id" : ox16 } //不合法,數(shù)值需要是十進制 {"name" : underfined } //不合法,沒有該值 [{ "name" : NUll, "school" : function() { console.log("該寫法是錯誤的") }//不合法 }]//json中不能使用自定義函數(shù),或系統(tǒng)內置函數(shù)
到此這篇關于json文件書寫格式詳解的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使Ext的Template可以解析二層的json數(shù)據(jù)的方法
2007-12-12淺談JSON中stringify 函數(shù)、toJosn函數(shù)和parse函數(shù)
這篇文章主要介紹了淺談JSON中stringify 函數(shù)、toJosn函數(shù)和parse函數(shù),需要的朋友可以參考下2015-01-01打印json對象的內容及JSON.stringify函數(shù)應用
json對象的內容在調試的時候用的到通過JSON.stringify函數(shù),可以轉換json對象為字符串,接下來為大家詳細介紹下,感興趣的朋友可以參考下哈2013-03-03利用NodeJS的子進程(child_process)調用系統(tǒng)命令的方法分享
child_process即子進程可以創(chuàng)建一個系統(tǒng)子進程并執(zhí)行shell命令,在與系統(tǒng)層面的交互上挺有用處2013-06-06