JSON

json入门基础教程

字号+ 作者:H5之家 来源:H5之家 2015-09-08 11:01 我要评论( )

Ajax firstName=BrettlastName=McLaughlinemail=brett@newInstance.com : request firstNameBrett/firstName lastNameMcLaughlin/lastName emailbrett@newInstance.com/email /request 本文讨论另一种数据格式, JavaScript Object Notation ( JSON ) 。

Ajax

firstName=Brett&lastName=McLaughlin&email=brett@newInstance.com

 

<request> <firstName>Brett</firstName> <lastName>McLaughlin</lastName> <email>brett@newInstance.com</email></request>

 

本文讨论另一种数据格式,JavaScript Object NotationJSONJSON 看起来既熟悉又陌生。它提供了另一种选择,选择范围更大总是好事情。

添加 JSON

JSON 并不是某种魔弹;但是,它对于某些非常特殊的情况是很好的选择。

 

 

JSON 基础

{ "firstName": "Brett" }

 

firstName=Brett

 

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }

 

值的数组

person1-firstName 这样的形式。

{ "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }]}

 

这不难理解。在这个示例中,只有一个名为 people 的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用括号将记录组合成一个值。当然,可以使用相同的语法表示多个值(每个值包含多个记录):

{ "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" } ],"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" } ]}

 

在处理 JSON 格式的数据时,没有需要遵守的预定义的约束。所以,在同样的数据结构中,可以改变表示数据的方式,甚至可以以不同方式表示同一事物。

 

 

var people = { "programmers": [    { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance.com" },    { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets.com" },    { "firstName": "Elliotte", "lastName":"Harold", "email": "elharo@macfaq.com" }   ], "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" }   ] }

 

访问数据

people.programmers[0].lastName;

 

下面是使用同一变量的几个示例。

people.authors[1].genre                       // Value is "fantasy" people.musicians[3].lastName          // Undefined. This refers to the fourth entry, and there isn't one people.programmers.[2].firstName      // Value is "Elliotte"

 

正如可以用点号和括号访问数据,也可以按照同样的方式轻松地修改数据:

people.musicians[1].lastName = "Rachmaninov";

 

转换回字符串

String newJSONtext = people.toJSONString();

 

myObject 的对象进行转换,只需执行相同形式的命令:

String myObjectInJSON = myObject.toJSONString();

 

 


 

结束语

 

xml的写法:

 

<contact>

 

 <friend>

  <name>Michael</name>

  <email>17bity@gmail.com</email>

  <homepage></homepage>

 </friend>

 

 <friend>

  <name>John</name>

  <email>john@gmail.com</email>

  <homepage></homepage>

 </friend>

 

  <friend>

  <name>Peggy</name>

  <email>peggy@gmail.com</email>

  <homepage></homepage>

 </friend>

 

</contact>

 

JSON:

 

[

{

 name:"Michael",

 email:"17bity@gmail.com",

 homepage:"http://www.jialing.net"

},

{

 name:"John",

 email:"john@gmail.com",

 homepage:"http://www.jobn.com"

},

{

 name:"Peggy",

 email:"peggy@gmail.com",

 homepage:"http://www.peggy.com"

}

]

 

 

JSON的格式:

1,对象:

{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com"}

{ 属性 : , 属性 : , 属性 : }

2,数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。

[

{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com"}, {name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com"},

{name:"Peggy",email:"peggy@gmail.com",homepage:"http://www.peggy.com"}

]

3, 值可以是字符串、数字、truefalsenull,也可以是对象或数组。这些结构都能嵌套。

 

 

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php CI 实战教程:[5]用curl获取json并解析

    php CI 实战教程:[5]用curl获取json并解析

    2016-02-26 17:00

  •  JSON入门级学习总结-JSON数据结构

    JSON入门级学习总结-JSON数据结构

    2016-02-25 11:05

  • Android解析Json速度最快的库:json

    Android解析Json速度最快的库:json

    2016-02-13 18:00

  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

网友点评
S