`
齐晓威_518
  • 浏览: 606038 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

js/jquery解析json和数组格式的方法介绍

 
阅读更多

在解析之前,我们必须弄清楚几个概念:数组,关联数组以及json之间有哪些区别和联系点?

一.概念介绍

1.数组

语法:

 

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

 

 

var a = [1, true, 'abc'];

 

具体操作查看API.

ps:必须方括号隔开。

2.关联数组

 

1.语法:

 

1.var myhash= {”key1″:”val1″, “key2″:”val2″ };//obj

2.var myhash= {key1:”val1″, key2:”val2″ };//obj-也可以

ps:跟json格式几乎相同,但是json格式要求更加严格(里面的键值对必须使用双引号),但json只能作为一种格式标准,如果要对其进行操作必须转换成关联数组对象(obj)。

2.简单操作

1.向Hash关联数组添加键值

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

myhash[”newkey”] = “newval”;

2.删除Hash关联数组已有键值

// 删除一个键 newkey ,同时,该键值对应的 newval 也就消失了

delete myhash[”newkey”];

3.遍历Hash关联数组

// 遍历整个hash 数组 

for (key in myhash) {
val = myhash[key];
}

4.获得值

方式1.myhash.key1

方式2.myhash.key2

3.json

格式要求:

{”key1″:”val1″, “key2″:”val2″ };//严格按照此格式,操作可依照关联数组的操作

 

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

1.当服务器发送的数据不是一条json,而是多条json时,则应当联系数组和关联数组来组装字符串
例如:var objs = [{ id: 1, name: 'n_1' }, { id: 2, name: 'n_2'}];
 
2.至始至终服务器给客户端的数据都只是字符串,因此为了让其能够在js中对其进行必要的操作,可以通过eval()进行转换成js可执行的对象。
因此jQuey中提供的$.parseJSON()是有局限的,如果是上面1提到的这种情况则就必须使用eval()进行转换,然后再通过$.each(objs,function(i,o){...})进行操作 

 

三.具体的实例代码

页面代码:
  1. <body>  
  2.     <input type="button" value="send ajax json" onclick="sendAjaxByjson();"/>  
  3.     <input type="button" value="send ajax array" onclick="sendAjaxByarray();"/>  
  4.       
  5. </body>  
  6.     <script type="text/javascript">  
  7.         function sendAjaxByjson(){  
  8.             $.post("json",{},function(data){  
  9.                 var obj=data;  
  10.                 alert(typeof obj);//string  
  11.                 //var a=eval(obj);不解,不注释则会报错..  
  12.                 var strToobj=$.parseJSON(obj);  
  13.                 alert(strToobj.name);  
  14.                 alert(typeof strToobj)//obj  
  15.                 var obja={'name':'techbirds','age':'23','sex':'male'};  
  16.                 alert(typeof obja);//obj  
  17.                 alert(obja['name']+":"+obja.age);  
  18.                 delete obja['name'];  
  19.             });  
  20.         }  
  21.         function sendAjaxByarray(){  
  22.             $.post("array",{},function(data){  
  23.                 var str=data;  
  24.                 alert(typeof str);//string  
  25.                 alert(typeof eval(str));//object  
  26.                 var obja=[1,2,3,4,5];  
  27.                 alert(typeof obja);//object  
  28.               
  29.             });  
  30.         }  
  31.     </script>  
后台代码:
  1. @Override  
  2.     protected void service(HttpServletRequest req, HttpServletResponse reps)  
  3.             throws ServletException, IOException {  
  4.         Map<String, Object> jsonMap=new HashMap<String, Object>();  
  5.         jsonMap.put("name""techbirds");  
  6.         jsonMap.put("age"23);  
  7.         jsonMap.put("sex""male");  
  8.         reps.getWriter().print(JSONObject.fromObject(jsonMap).toString());  
  9.         reps.getWriter().flush();  
  10.         reps.getWriter().close();  
  11.           
  12.     }  

  1. @Override  
  2. protected void service(HttpServletRequest req, HttpServletResponse reps)  
  3.         throws ServletException, IOException {  
  4.     String array="[1,2,3,4,5,6]";  
  5.     reps.getWriter().print(array);  
  6.     reps.getWriter().flush();  
  7.     reps.getWriter().close();  
  8.       
  9. }  
分享到:
评论
1 楼 pl_369 2015-03-19  
  

相关推荐

    js/jquery解析json和数组格式的方法详解

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

    用jquery解析JSON数据的方法

    用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里...

    用jquery解析JSON数据的方法20110227

    用jquery解析JSON数据的方法20110227用jquery解析JSON数据的方法20110227

    jquery.json2.4.js

    可序列化 JavaScript 对象、数值、字符串和数组到 JSON 字符串,同时可转换 JSON 字符串到 JavaScript。 var thing = {plugin: 'jquery-json', version: 2.3};//js对象 var encoded = $.toJSON( thing ); //转换...

    jquery.json-2.3.min.js和jquery.json-2.3.js

    jquery.json-2.3.min.js和jquery.json-2.3.js jQuery为开发插件提拱了两个方法,分别是:jQuery.extend(object); 为扩展jQuery类本身 jQuery.fn.extend(object);给jQuery对象添加方法。

    jquery.json-viewer.js

    /src/main/resources/static/css/campaign/jquery.json-viewe.js

    jquery解析JSON数据的方法.docx

    jquery解析JSON数据的方法.docx

    Jquery.json.js

    在官网上一直下载不下来 然后共享在这 jquery.json-2.3.min.js和jquery.json-2.3.js

    jQuery.json.js

    jquery对象转json jquery.json.js使用 $(function(){ var obj=new Object(); obj.name="张三"; obj.age="12"; obj.job="php"; //转换成json字符串 var strjson = $.toJSON(obj); alert(strjson); });

    jquery.json2xml.js和jquery.xml2json.js

    jquery.json2xml.js&&jquery.xml2json.js在jQuery的基础上实现json与xml的相互转换

    jquery.jsoncookie.js

    jquery.jsoncookie.js

    jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css

    这里包含jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css,我费了好长时间找到的,此东西可以配合jQuery UI开发指南一书使用。

    Jquery解析json数据详解

    最近被jquery折磨了一番,倒腾了一个jquery解析json的demo,本demo想实现从asp.net后台实例化dataSet或者dataTable数据集,将dataSet转换成json并返回给客户端,客户端用jquery getJson方法解析出来并显示在页面上。...

    jquery解析json格式数据的方法(对象、字符串)

    json数据是我们常用的一种小型的数据实时交换的一个东西,他可以利用jquery或js进行解析,下面我来介绍jquery解析json字符串方法。 一、jQuery解析Json数据格式: 使用这种方法,你必须在Ajax请求中设置参数: ...

    jquery.json-viewer, 用于显示JSON数据的jQuery插件.zip

    jquery.json-viewer, 用于显示JSON数据的jQuery插件 jQuery浏览器JSON浏览器是一个jQuery插件,它可以通过将JSON对象转化为HTML来轻松显示JSON对象。功能:语法高亮显示在单击时折叠和展开子节点可以点击链接易于...

    使用JQUery解析JSON字符串

    从服务器端获取一段JSON字符串,使用就jQuery解析该字符串,并动态添加到列表

    Jquery解析json

    本实例是结合struts2 jquery来接受后台的json数据

    jQuery JSONView-格式化和语法高亮JSON格式数据查看插

    jQuery JSONView是一款非常实用的格式化和语法高亮JSON格式数据查看器jQuery插件。通过该插件可以将JSON格式的数据进行格式输出,便于阅读,同时它还支持各种数据类型的语法高亮,以及节点的收缩和展开等。

Global site tag (gtag.js) - Google Analytics