JSON主題
本指南涵蓋的內容:
- JSON文件入門
- 使用方法來處理JSON數據
- 使用工具創建JSON文本
- 驗證 JSON 資料
以JSON開頭
JavaScript Object Notation(JSON)文件格式是基於文本的開放標準格式,用於在服務器和Web應用程序之間序列化和傳輸結構化數據。JSON格式易於人類閱讀和書寫。機器也很容易解析和生成。儘管它基於JavaScript編程語言的子集,但它是完全獨立於語言的。與XML相比,JSON格式更小,更快,更容易解析。由於這些屬性,JSON格式是理想的數據交換語言。
JSON格式的數據類型包括:
- 數 -JavaScript中的雙精度浮點
- 串 -帶反斜杠轉義的雙引號Unicode
- 布爾型 - 對或錯
- 數組 -用方括號括起來的逗號分隔值的有序序列
- 目的 -key:value對的無序集合,冒號“:”分隔鍵和值。它是用大括號括起來的逗號分隔列表。
- 空值 -空值
以下示例以JSON格式描述某人的聯繫信息:
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": 10021
},
"phoneNumbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
要了解有關JSON格式的更多信息,請參閱JSON簡介和JavaScript中的JSON文件。
使用JSON方法
由於JSON格式與JavaScript語言緊密相關(字符U + 2028和U + 2029在兩種語言中的處理方式不同),因此可以輕鬆地在該語言中使用它。JSON文本格式使用與用於創建JavaScript對象的代碼相同的語法。JSON對象包含用於將值轉換為JSON格式以及將JSON格式轉換為值的方法。
JSON對象具有幾種方法,包括:
- 的
parse()
將JSON字符串轉換為JavaScript對像或數組的方法。var jsonstring = '{"firstName":"John","lastName":"Smith","phone":["555-0100","555-0120"]}'; var contact = JSON.parse(jsonstring); console.log(contact.lastName + ", " + contact.firstName); //Output: Smith, John
有關詳細信息,請參閱JSON.parse函數(JavaScript)文件。
- 的
stringify()
將JavaScript值(通常是對像或數組)轉換為JSON字符串的方法。範例 1:
var contact = new Object(); contact.firstName = "John"; contact.lastName = "Smith"; contact.phone = ["555-0100","555-0120"]; var jsonstring = JSON.stringify(contact); console.log(jsonstring); //Output: { "firstName":"John","lastName":"Smith","phone":["555-0100","555-0120"] }
範例 2:(請注意,轉義字符用於內部字符串)
var foo = new Object(); foo.template = '<p class="bar">Hello</p>'; var jsonstring = JSON.stringify(foo); console.log(jsonstring); //Output: {"template":"<p class=\"bar\">Hello</p>"}
有關詳細信息,請參閱JSON.stringify函數(JavaScript)文件。
創建JSON文本
如果您正在使用並創建許多JSON格式的文本文件,則可以使用JSON編輯器來幫助查看,編輯和格式化它們。
以下是一些可下載的JSON編輯器:
也有在線JSON編輯器:
有很多免費工具可幫助您處理JSON格式的文件。使用瀏覽器搜索其他應用程序。
驗證 JSON 資料
的JSON schema定義JSON數據的結構,並用於驗證JSON數據,以確保符合JSON定義的標準json.org。有在線工具可以驗證您的JSON文件。
以下是一些JSON驗證器: