JSON 是轻量级的文本数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据,易于人阅读和编写,同时也易于机器解析和生成,那json数组数据格式怎么操作下面来我们就来给大家讲解一下。
第一种,对象形式
<script> //var json3={name:"longzhoufeng",age:123}//第一种方式 var json3={"name":"longzhoufeng","age":123}//推荐这种方式,加引号,安全性高一点,转换格式好一些 for( var attr in json3){ //alert(attr)//name,age console.log(json3[attr])//longzhoufeng,123 } </script>
运行结果:
第二种,数组形式
<script> var arr=[{"name":"longzhoufeng","age":123},{"name":"minigui","age":25}] var parn=arr[0].name+"今年多少岁"+arr[1].age console.log(parn) </script>
运行结果:
对象里包数组
<script> //对象里包数组 var json4={ "url":["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg"], "text":["aaaa","bbbb","cccc","dddd"] } for(var att in json4){ console.log(json4[att]) for(var i=0;i<json4[att].length;i++){ console.log(json4[att][i]) } } </script>
运行结果:
数组里包对象
<script> var json5=[{"姓名":"longzhoufeng","年龄":123},{"姓名":"minigui","年龄":25}] for(var i=0;i<json5.length;i++){ for(var att in json5[i]){ //alert(att) console.log(json5[i][att]) } } </script>
运行结果:
json数组如何应用?
1.将 JSON 数据赋值给变量
例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它:
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" } ] }
这非常简单;现在 people包含前面看到的 JSON 格式的数据。但是,这还不够,因为访问数据的方式似乎还不明显。
2.访问数据
尽管看起来不明显,但是上面的长字符串实际上只是一个数组;将这个数组放进 JavaScript 变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在 JavaScript 中使用下面这样的代码:
people.programmers[0].lastName;
注意,数组索引是从零开始的。所以,这行代码首先访问 people变量中的数据;然后移动到称为 programmers的条目,再移动到第一个记录([0]);最后,访问 lastName键的值。结果是字符串值 “McLaughlin”。
下面是使用同一变量的几个示例。
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"
利用这样的语法,可以处理任何 JSON 格式的数据,而不需要使用任何额外的 JavaScript 工具包或 API。
3.修改 JSON 数据
正如可以用点号和括号访问数据,也可以按照同样的方式轻松地修改数据:
people.musicians[1].lastName = "Rachmaninov";
在将字符串转换为 JavaScript 对象之后,就可以像这样修改变量中的数据。
4.转换回字符串
当然,如果不能轻松地将对象转换回本文提到的文本格式,那么所有数据修改都没有太大的价值。在 JavaScript 中这种转换也很简单:
String newJSONtext = people.toJSONString();
这样就行了!现在就获得了一个可以在任何地方使用的文本字符串,例如,可以将它用作 Ajax 应用程序中的请求字符串。
更重要的是,可以将任何JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject的对象进行转换,只需执行相同形式的命令:
String myObjectInJSON = myObject.toJSONString();
JSON 是 JavaScript 原生格式,正因为它采用完全独立于语言的文本格式,这些特性才使JSON成为理想的数据交换语言!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。
推荐阅读: