了解JSON

什么是JSON?

  • JSON是JavaScript对象表示法(JavaScript Object Notation)
  • JSON是轻量级的文本数据交换格式
  • JSON本质是一个字符串
  • 很多动态(PHP,JSP,.NET)编程语言都支持JSON

JSON常用的两种类型:对象和数组

JSON语法规则

  • 对象表示为键值对
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

JSON 键/值对(对象)

JSON键值对是保存JS对象的一种方式,数据结构为:{key1:value1, key2:value2, ...}   {"键名1":"值1", "键名2":"值2",...},其中,key为对象的属性,value为对应的值;键名可以用整数和字符串来表示,值的类型可以是任意类型。

示例:{"firstName" :"Json"}

   {"Name" :"Json","Age":"15"}

JSON数组

JSON表示数组需要使用方括号[ ]。

示例:{"people": [ { "Name": "Json","Age":"15"} ,{"Name":"John","Age":"23" } ] }

JSON使用

把JSON文本转换为JavaScript对象

  JSON最常见用法之一,从web服务器上读取JSON数据(作为文件或作为HttpRequest),将JSON数据转换为JavaScript对象,然后在网页上使用该数据。

  JSON语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

  eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误: var obj = eval ("("+txt+")");

示例:

<!-- 包含JSON语法的JavaScript字符串-->

var txt = '{ "sites" : [' +
'{ "name":"菜鸟教程" , "url":"www.runoob.com" },' +
'{ "name":"google" , "url":"www.google.com" },' +
'{ "name":"微博" , "url":"www.weibo.com" } ]}';

var obj = eval ("(" + txt + ")");

document.getElementById("name").innerHTML=obj.sites[0].name
document.getElementById("url").innerHTML=obj.sites[0].url

JSON和JS对象互转

要实现从对象转换为JSON字符串,使用JSON.stringify()方法:

var json=JSON.stringify({a:'Hello', b:'World'});

//结果为'{"a":"Hello","b":"World"}'

要实现从JSON转换为对象,使用JSON.parse()方法:

var obj=JSON.parse('{"a":"Hello", "b":"World"}');

//结果为{a: 'Hello',b: 'World'}

posted on 2018-03-13 17:21  逆水城殇  阅读(145)  评论(0编辑  收藏  举报

导航