js解析json数组对象,json格式中的数组

js解析json数组对象,json格式中的数组,js/jquery解析json和数组格式的方法详解

本文主要详细介绍了js/jquery解析json和数组格式的方法,有需要的朋友可以过来参考一下,希望对你有所帮助。

在解析之前,我们要搞清楚几个概念:数组、关联数组和json有什么区别和联系?

一.概念介绍1.数组

语法:ECMAScript v3规定了数组直接量的语法,JavaScript 1.2和JScript 3.0实现了。您可以将逗号分隔的表达式列表放在方括号中,以创建和初始化数组。这些表达式的值将成为数组元素。例如:

var a=[1,true, ABC ];

具体操作见API。

Ps:必须用方括号隔开。

2.关联数组

1.语法:

var my hash={ " key 1 ": val 1 ", key 2 ": val 2 "};//obj

2 . varmyhash={ key 1:" val 1 ", key 2:" val 2 "};//obj——那也行。

Ps:和json格式差不多,但是json格式更严格(里面的键值对必须用双引号),但是json只能作为格式标准,要操作的话必须转换成关联数组对象(objs)。

2.简单操作

1.将键值添加到哈希关联数组

//添加一个newkey,newkey,其键值为newval

my hash[" new key "]=" new val ";

2.删除哈希关联数组的现有键值。

//删除一个key newkey,同时这个key对应的newval也会消失。删除我的哈希[" new key "];

3.遍历散列关联数组

//遍历整个hash数组for(key in my hash){ val=my hash[key];}

4.获取值

1.myhash.key1模式2.myhash.key2

3.json

格式要求:

{ " key 1 ": val 1 "," key 2 ": val 2 "};//严格按照这个格式,操作可以遵循关联数组的操作。

二.前后台交互中几个关键点

1.当服务器发送的数据不是一个json,而是多个json时,要联系数组和关联数组组装字符串例如:varobjs=[{ID: 1,name: n _ 1},{ID: 2,name: n _ 2 }];

2.从始至终,从服务器到客户端的数据都只是字符串,所以为了使在js中对其进行必要的操作成为可能,可以通过eval()将其转换为js可执行对象。因此,美元。jQuey中提供的parseJSON()是有限的。如果是上面1中提到的这种情况,就必须使用eval()进行转换,然后通过$进行操作。每个(对象,函数(I,o){.}).

三.具体的实例代码

页面代码:复制代码如下:body input type= button value= sendajaxjson onclick= sendajaxbyjson();/input type= button value= send Ajax array onclick= sendAjaxByarray();//body script type= text/JavaScript function sendAjaxByjson(){ $。post(json ,{},function(data){ var obj=data;警报(对象类型);//string//var a=eval(obj);不懂,不评论就报错.var strToobj=$。parse JSON(obj);alert(strtoobj . name);alert(type of strToobj)//obj var obja={ name : tech birds , age:23 , sex : male };警报(obja类型);//obj alert(obja[ name ]: obja . age);删除obja[ name ];});}函数sendAjaxByarray(){$。post(array ,{},function(data){ var str=data;警报(字符串类型);//string alert(type of eval(str));//objectvar obja=[1,2,3,4,5];警报(obja类型);//对象

});}/脚本后台代码:复制代码如下:@ override protected void service(http servlet req req,http servlet response reps)抛出servlet异常,ioexception {mapstring,objectjsonmap=newhashmapstring,object();jsonMap.put(name , tech birds );jsonMap.put(age ,23);jsonMap.put(sex , male );reps.getWriter()。print(JSON object . from object(JSON map))。toString());reps.getWriter()。flush();reps.getWriter()。close();

}复制代码如下:@ override protected void service(http servlet req req,http servlet response reps)抛出servlet异常,ioexception {string array= [1,2,3,4,5,6];reps.getWriter()。打印(数组);reps.getWriter()。flush();reps.getWriter()。close();

}

js解析json数组对象,json格式中的数组