王德貴
在學習編程或是在程序開發過程中,不論使用什么樣的語言或工具比如Java、Python、C/C++、APPInventor以及樹莓派等,都可以直接或通過調用API接口用到JSON數據。我通過對JSON數據的實際應用,認為JSON這種數據格式越來越重要,也是以后數據處理的發展趨勢。
現在大量的API數據均為JSON格式,這給普通開發者帶來了福音,對于剛剛接觸一些數據的初期開發者來說,相對于XML還是JSON格式更容易理解一些。
1.JSON及特點
JSON全稱JavaScript Object Notation,JavaScript對象表示法。類似于XML但JSON 比XML更小、更快、更易解析。JSON是一種與開發語言無關的、輕量級的數據格式。采用完全獨立于語言的文本格式,是一種理想的數據交換格式。同時,JSON是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON數據不需要任何特殊的 API 或工具包。優點是易于人閱讀和編寫,同時也易于解析和生成。它是基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。
2.重要性
JSON是Douglas Crockford在2001年開始推廣使用的數據格式,在2005年-2006年正式成為主流的數據格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。
當你在學習APPInventor過程中就會涉及到調用API(應用程序接口)的JSON數據。通過對JSON數據的學習運用,你會發覺JSON數據格式越來越重要,這也是以后數據處理的發展趨勢,在相應的領域也會得到廣泛應用。
1.對象
在JavaScript中是使用花括號{}包裹起來的內容,數據結構為 {key1:value1, key2:value2, ...} 的鍵值對結構。在面向對象的語言中,key 為對象的屬性,value 為對應的值。鍵名可以使用整數和字符串來表示。值的類型可以是任意類型。名稱用引號括起來;值如果是字符串則必須用括號,數值型則不須要。
例如:var o={"姓名":"wdg","學生":Ture,"密碼":123456,"愛好":["籃球","唱歌"],"生日":"2010-08-20"}
換成下列格式更清晰明了,更容易理解(圖1):

2.數組
數組在JavaScript中是方括號[]包裹起來的內容,數據結構為["Python", "C++", "APPInventor", ...] 的索引結構。在 JS 中,數組是一種比較特殊的數據類型,它也可以像對象那樣使用鍵值對,但還是索引使用得多。同樣,值的類型可以是任意類型。
例如:var jsonlist=[{"姓名":"wdg","學生":Ture,"密碼":123456,"愛好":["籃球","唱歌"],"生日":"2010-08-20"},{"姓名":"wzy","學生":Flase,"密碼":123456,"愛好":["舞蹈","畫畫"],"生日":"1988-01-24"}]
同樣換成下列格式更清晰明了,更容易理解(圖2):

這個列表,有2項格式相同的數據,每項數據有5個鍵值對。
JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質是一個字符串。
var obj={"a": "Hello", "b":"World"};//這是一個對象,注意鍵名也是可以不使用引號的。
var json='{"a":"Hello","b":"World"}';//這是一個JSON字符串,本質是一個字符串。
下期我們將通過JSON與APPinventor的應用案例進一步理解JSON的重要性。