作爲一名安卓程序員,在做開發的過程中用到Json數據是必修課之一。
那麼,什麼是Json呢?Json數據由哪些特性和獨特的功能呢?.......等等一些列的疑問,下面就來一起了解下Json————
JSON(JavaScript Object
Notation, JS 對象標記) 是一種輕量級的數據交換格式。它基於 ECMAScript 規範的一個子集,採用完全獨立於編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得
JSON 成爲理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成,並有效地提升網絡傳輸效率。————百度百科
相信已經有了些瞭解了吧。那麼就再來探討下
JSON 語法規則
-
對象表示爲鍵值對
-
數據由逗號分隔
-
花括號保存對象
-
方括號保存數組
-
JSON 鍵/值對
-
JSON 鍵值對是用來保存 JS 對象的一種方式,和 JS 對象的寫法也大同小異,鍵/值對組合中的鍵名寫在前面並用雙引號 "" 包裹,使用冒號 : 分隔,然後緊接着值:1
{"firstName": "John"}
這很容易理解,等價於這條 JavaScript 語句:1{firstName: "John"}
JSON 與 JS 對象的關係
-
JSON 是 JS 對象的字符串表示法,它使用文本表示一個 JS 對象的信息,本質是一個字符串。
-
JSON 和 JS 對象互轉
-
要實現從對象轉換爲 JSON 字符串,使用 JSON.stringify() 方法:1
var
json = JSON.stringify({a:
'Hello'
, b:
'World'
});
//結果是 '{"a": "Hello", "b": "World"}'
要實現從 JSON 轉換爲對象,使用 JSON.parse() 方法:1var
obj = JSON.parse(
'{"a": "Hello", "b": "World"}'
);
//結果是 {a: 'Hello', b: 'World'}
基礎示例
表示數組
和普通的 JS 數組一樣,JSON 表示數組的方式也是使用方括號 []。1234567891011121314151617181920212223242526272829{
"people":[
{
"firstName": "Brett",
"lastName":"McLaughlin",
},
{
"firstName":"Jason",
"lastName":"Hunter",
}
]
}
實例比較
XML和JSON都使用結構化方法來標記數據,下面來做一個簡單的比較。用XML表示中國部分省市數據如下:1234567891011121314151617181920212223242526272829303132<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
country
>
<
name
>中國</
name
>
<
province
>
<
name
>黑龍江</
name
>
<
cities
>
<
city
>哈爾濱</
city
>
<
city
>大慶</
city
>
</
cities
>
</
province
>
<
province
>
<
name
>廣東</
name
>
<
cities
>
<
city
>廣州</
city
>
<
city
>深圳</
city
>
<
city
>珠海</
city
>
</
cities
>
</
province
>
<
province
>
<
name
>臺灣</
name
>
<
cities
>
<
city
>臺北</
city
>
<
city
>高雄</
city
>
</
cities
>
</
province
>
<
province
>
<
name
>新疆</
name
>
<
cities
>
<
city
>烏魯木齊</
city
>
</
cities
>
</
province
>
</
country
>
用JSON表示如下:123456789101112131415161718192021222324{
"name": "中國",
"province": [{
"name": "黑龍江",
"cities": {
"city": ["哈爾濱", "大慶"]
}
}, {
"name": "廣東",
"cities": {
"city": ["廣州", "深圳", "珠海"]
}
}, {
"name": "臺灣",
"cities": {
"city": ["臺北", "高雄"]
}
}, {
"name": "新疆",
"cities": {
"city": ["烏魯木齊"]
}
}]
}