为了方便地处理JSON数据,JSON提供了json.js包,​​下载地址​​​ 注意:GSON为json的升级版,更容易使用,​​下载地址​

JSON 结构有两种结构:

json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。

  1. 对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,…}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

示例:

var person = {"name":"zdc","age":"22","hight":"183"};
var person = {"name":"zdc",
"adress":{
"city":"henan",
"street":"zhengzhou"
}};

注意:调用的时候,例如person.name~~~person.adress.city
2. 数组:数组在js中是中括号“[]”括起来的内容,数据结构为[“java”,“javascript”,“vb”,…],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

示例:

var person = ["zdc","aa","bb"];
var person = [{"name":"zdc","age":22},{"name":"ljh","age":25}];

在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };

eval()函数:(为JavaScript内置方法)

eval()函数可计算某个字符串,并执行其中的JavaScript代码
代码:(注意:eval函数里面填写的字符串)

<script type="text/javascript">

eval("x=10;y=20,document.write(x*y)");
doucument.write(eval("2+2"));
var x=10;
document.write(eval(x+17));

</script>

json字符串与json对象之间转换:

这里使用的是json2.js中的方法

  1. stringify()方法将json对象转换为json字符串。
  2. parse()方法将json格式的字符串转换为json数据对象。
  3. 当然将字符串转化为json对象还有一种JavaScript内置方法eval()方法。

示例:

//声明普通字符串
var normalstring=*'{persons:[{name: "jordan" sex:"m",age:"40"},
{name:"bryant" ,sex:"m",age:"28*"}]}';
//声明JSON格式的字符串
var jsontext=*'"persons":([{"name":"jordan","sex":"m","age":."40"},
{"name":"bryat","sex.:","gg."*8*"}}';
var myjson = eval(normalstring);
with (document){
writeln('转换后的JSON对象: '+ myjson);
document.writeln('<br>myjson[0].name=' + myjson[0].name);
var text = JSON.stringify(myjson);
document.writeln('<br>转换后的json文本: ' + text);
var myData = JSON.parse(jsontext);
document.writeln('<br>转换后的JSON对象: ' + myData);
document.writeln('<br>myjson[1].name=' + myjson[1].name);

输出的结果为:

转换后的ISON对象: [bjet Objc,lobjec Objece
myjson[0] name=jordan
转换后的json文本: ["name"jordan" "ex"m"ge*"40"3{ nae."ryand',"ex"e*.*28*}
转换后的JSON对象: [objecet Object]
myjson[1]name=bryant

关于json具体的使用,我也是借鉴别人的,我感觉这位​​博主大大​​写的很不错,可以多学习!!!!!!!!!!