JSON:javaScript 对象表示法(Javascript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 xml。
JSON 比 XML 更小、更快,更易解析。
JSON 语法是 JavaScript 对象表示法语法的子集。
JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
"姓名" : "李明"
这很容易理解,等价于这条 JavaScript 语句:
姓名 = "李明"
JSON 值可以是:
Json格式数据表示方法
Json使用花括号表示对象,使用方括号表示数组。二则的组合可以表述具有复杂结构的数据。
例如:
{key:value,key2:value2}[1,2,3,4,4,4,4,5,6,76]
[{"姓名":"李明","年龄":18},{"姓名":"李龙","年龄":19},{"姓名":"李百","年龄":17}]
程序例子:
var myJson = [{ "姓名": "李明", "年龄": 18 }, { "姓名": "李龙", "年龄": 19 }, { "姓名": "李百", "年龄": 17 }]; alert(myJson[0].姓名); //读取姓名 myJson[3].姓名 = "李白"; //修改姓名 alert(myJson[2].姓名); //读取姓名
运行结果如下:
由于运行期间更改了第三个对象的姓名,所以李百变成了李白了。
JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttPRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。
解析Json
可以使用eval()函数解析Json数据
示例代码:
var str='[{ "姓名": "李明", "年龄": 18 },'+ '{ "姓名": "李龙", "年龄": 19 },'+ '{ "姓名": "李百", "年龄": 17 }]'; var obj = eval(str);
运行结果如下(运行结果截图是在IE11的开发人员工具里的监视内容):
提示:eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。
较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。
Web 浏览器支持 Firefox (Mozilla) 3.5
Web 软件支持
新闻热点
疑难解答