JSON格式

来源:互联网 发布:软件国画山水价格 编辑:程序博客网 时间:2024/06/10 16:04

一、JSON格式:JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式,它基于ECMAScipt规范的一个子集,采用完全独立于编程语言的文本格式是来存储和表示数据。简介和清晰的层次结构使得JSON格式成为理想的数据交换语言,易于人阅读和编写,同时也易于及其解析和生成,并有效的提升网络传输效率。

二、JSON语法规则:在JSON语言中,一切都是对象,因此,任何支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等,但是对象和数组是比较特殊且常用的两种类型。

三、JSON键/值对:JSON键值对是用来保存JS对象的一种方式,和JS对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号“”包裹,使用冒号:分隔,然后紧接着值。

例:{"firstName":"John"},等价于JavaScript语句:{firstName="John"}

四、JSON与JS的关系:JSON是JS对象的字符串的表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。

例:var obj={a:'Hello',b='World'};  //这是一个对象,键名也可用引号包裹

    var json='{"a"="Hello","b"="World"}';  //这是一个JSON字符串,本质是一个字符串

五、JSON与JS对象互转

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

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

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

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

六、常用类型

1、对象:数据结构为{key1:value1,key2:value2,...}的键值对结构,在面向对象的语言中,key为对象的属性,value为对应的值,键名可以使用整数和字符串来表示,值的类型可以是任意类型。

(1)表示对象

例:{ "people": [{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

{ "firstName":"Jason","lastName":"Hunter", "email": "bbbb"},

{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc"}]}  //一个名为 people的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址

2、数组:数据结构为{"java","javascript","vb"}的索引结构,在JS中数组是一种比较特殊的数据类型,它也可以像对象一样使用键值对,但还是索引用的比较多,同样,值的类型可以使任意类型。

(1)表示对象

例:{"firstName": "Brett", "lastName": "McLaughlin"}

3、赋值给变量

例:

var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },

{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }],

"authors": [

{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

{ "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },

{ "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }],

"musicians": [

{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },

{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }] }

4、访问数据

(1)访问 programmers 列表的第一个条目的姓氏:people.programmers[0].lastName; //数组索引是从零开始的,这行代码首先访问 people变量中的数据,然后移动到称为 programmers的条目,再移动到第一个记录([0]),最后,访问 lastName键的值。

5、修改数据:people.musicians[1].lastName = "Rachmaninov";

6、转换为字符串

(1)在 JavaScript 中转换:String newJSONtext = people.toJSONString();

(2)将任何JavaScript对象转换为JSON文本:String myObjectInJSON = myObject.toJSONString();




0 0
原创粉丝点击