json基础

  1、json(JavaScript Object Notation):JavaScript对象表示法。

  1)简介:纯文本、轻量级的文本数据交换格式。类似于XML。

  2)应用:常用于从web服务器上读取json数据,转换为JavaScript对象,然后在网页中使用。

  3)特点:独立于语言和平台;具有自我描述性(人类可读),更易理解;具有层级结构;可使用JavaScript解析;可使用AJAX进行传输。

  4)与XML对比:json更小、更快、更易解析。

  没有结束标签,不使用保留字,更短;读写速度更快;更易使用,可用JavaScript eval()解析;使用数组。

  5)与JS的关系:

  json语法是JavaScript(对象表示法)语法的子集,因此可使用JS eval()将json转换为JavaScript对象。示例:

var jsonObject= {
"name":"Bill Gates",
"street":"Fifth Avenue New York 666",
"age":56,
"phone":"555 1234567"};
// 使用jsonObject.name取得name对应的值
var txt = '{ "employees" : [' +
'{ "firstName":"Bill" , "lastName":"Gates" },' +
'{ "firstName":"George" , "lastName":"Bush" },' +
'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';
var obj = eval ("(" + txt + ")");  // 必须把文本包围在括号中
// 使用obj.employees[1].lastName取得George的lastName

  6)语法

{  // employees对象是包含3个员工记录(对象)的数组
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}

  基本数据保存在名称/值对中,如"firstName" : "John"。

  花括号保存对象,对象可包含多个名称/值对。如{ "firstName":"John" , "lastName":"Doe" }。

  方括号保存数组,数组可包含多个对象。

  数据之间由逗号分隔。

  7)其他:

  json文本的MIME类型是"application/json"。

  eval()函数可编译并执行任何JavaScript代码,存在安全问题,因此更安全的做法是使用json解析器将json转换为JavaScript对象。json解析器只能识别json文本,而不会编译脚本。另外,json解析器的速度更快。

  参考资料:

  http://www.w3school.com.cn/json/

不断学习中。。。

原文地址:https://www.cnblogs.com/hanerfan/p/5655067.html