json的解析方式
来源:互联网 发布:国泰安数据库是什么 编辑:程序博客网 时间:2024/05/17 04:52
JSON(读Jason)是为了能够使得数据格式成为一种标准,更简单的被JavaScript解析。
优点
1、轻量级的数据交换格式
2、人们读写更加容易
3、易于机器的解析和生成
4、能够通过JavaScript中eval()函数解析JSON
5、JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.
语法
JSON语法是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析。
对象:对象包含在{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。 string : value
数组:数组存放在[]之间 [ elements ]
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null
例子:JSON
{
name:"Michael",
email:"17bity@gmail.com",
homepage:"http://www.google.com"
},
{
name:"John",
email:"john@gmail.com",
homepage:"http://www.google.com"
},
{
name:"Peggy",
email:"peggy@gmail.com",
homepage:"http://www.google.com"
}
]
简单 JSON 示例
按照最简单的形式,可以用下面这样的 JSON 表示名称/值对:
{ ”firstName”: ”Brett” }
这个示例非常基本,而且实际上比等效的纯文本名称/值对占用更多的空间:
firstName=Brett
但是,当将多个名称/值对串在一起时,JSON 就会体现出它的价值了.首先,可以创建包含多个名称/值对的记录,比如:
{ ”firstName”: ”Brett”, ”lastName”:”McLaughlin”, ”email”: ”brett@newInstance.com” }
如果使用 JSON,就只需将多个带花括号的记录分组在一起:
{ "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" }
]
}
//第一部分 var list1 = [1,3,4]; alert(list1[1]); var list2 = [{"name":"leamiko","xing":"lin"}]; alert(list2[0]["xing"]) alert(list2[0].xing) //第二部分 var value = { ”china”:{ ”hangzhou”:{“item”:”1″}, ”shanghai”:{“item”:”2″}, ”chengdu”:{“item”:”3″} }, ”America”:{ ”aa”:{“item”:”1″}, ”bb”:{“item”:”2″} }, ”Spain”:{ ”dd”:{“item”:”1″}, ”ee”:{“item”:”2″}, ”ff”:{“item”:”3″} } }; for(var countryObj in value) { document.write(countryObj + ”:<br />”) //没用的for(var cityObj in value.countryObj) for(var cityObj in value[countryObj]) { document.write(‘ ’ + cityObj + ”<br />”); for(var itemObj in value[countryObj][cityObj]) { document.write(“ ”+ itemObj + value[countryObj][cityObj][itemObj] +”<br />”) } } }//第三部分 var value2 = { "china":[ {"name":"hangzhou", "item":"1"}, {"name":"shanghai", "item":"2"}, {"name":"sichuan", "item":"3"} ], "America":[ {"name":"aa", "item":"12"}, {"name":"bb", "item":"2"} ], "Spain":[ {"name":"cc", "item":"1"}, {"name":"dd", "item":"23"}, {"name":"ee", "item":"3"} ] }; for (var countryObj in value2) { document.write(countryObj + ":<br />") for (var cityObj in value2[countryObj]) { //可以用document.write("-----" + value2[countryObj][cityObj].item + "<br />"); document.write(cityObj + " ++++++ " + value2[countryObj][cityObj]["name"] + "<br />" ); } }//第四部分 var value2 = { ”china”:[ {"name":"hangzhou", "item":"1"}, {"name":"shanghai", "item":"2"}, {"name":"sichuan", "item":"3"} ], ”America”:[ {"name":"aa", "item":"12"}, {"name":"bb", "item":"2"} ], ”Spain”:[ {"name":"cc", "item":"1"}, {"name":"dd", "item":"23"}, {"name":"ee", "item":"3"} ] }; for (var countryObj in value2) { document.write(countryObj + ”:<br />”) //document.write(“ ” + value2[countryObj].length); for (var i = 0;i < value2[countryObj].length; i++) { document.write(“ ” + value2[countryObj][i]["name"] + ”<br />”); } }
var jsonObj = eval(“(“ + jsonStr + ”)”);
- json的解析方式
- json的解析方式
- json解析的方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- IOS解析json的方式
- jquery JSON的解析方式
- JSON 对象的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- jquery JSON的解析方式
- CodeForces 303A Toy Cars
- 六、我们应当怎样做需求调研:迭代
- ?归并排序
- 安卓开发-Activity中finish() onDestroy() 和System.exit()的区别
- iOS学习笔记二
- json的解析方式
- idea 的代码分析
- 2-8-4 String类的构造
- 插入排序(数组)
- [LeetCode][Java] Unique Binary Search Trees
- Java中int和Integer的区别
- 【c语言】n 的k次方递归
- SpringMVC-16 运行流程
- C 结构体大小及单元空间对齐