`
齐晓威_518
  • 浏览: 617824 次
  • 性别: 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和数组格式的方法详解

    在JavaScript和jQuery中,解析JSON和数组格式是常见的任务,特别是在与服务器进行数据交互时。首先,我们需要了解一些基本概念。 1. **数组**:在JavaScript中,数组是一种特殊的对象,用于存储一系列值。数组的...

    Jquery解析json

    ### Jquery解析json #### 知识点概览 1. **JSON介绍** 2. **jQuery与JSON数据交互** 3. **Struts2框架简介** 4. **JSON类库的选择与使用** 5. **服务器端Java程序编写** 6. **前端jQuery解析JSON数据** #### JSON...

    使用JQuery实现从JSON对象转换为form提交数据

    首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在前端应用中,我们经常从服务器获取JSON格式的数据,然后在...

    jquery-json使用

    首先,JSON是一种基于JavaScript语法的数据格式,它可以表示复杂的数据结构,包括对象和数组。在jQuery中,我们经常使用JSON来进行Ajax请求,获取或发送数据。 一、解析JSON数据 在jQuery中,我们可以使用`$.parse...

    jQuery_Ajax_Json全解析

    JSON数据结构包括对象(键值对)和数组(有序集合),例如: ```json { "name": "张三", "age": 30, "hobbies": ["阅读", "编程"] } ``` 在jQuery中,我们可以使用`$.parseJSON()`(在jQuery 3.0后被`$.json()`...

    JS,JQuery 对JSON对象的操作

    在JavaScript和jQuery的世界里,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级、易读易写的特点而被广泛应用于前后端数据交互。本教程将深入探讨如何利用JS和jQuery对JSON对象进行操作,...

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

    在讨论jQuery解析JSON数据的方法前,我们需要了解JSON数据的两种基本形式:JSON对象和JSON字符串。JSON对象是JavaScript中的一个对象字面量,通常在程序中直接使用;JSON字符串则是一个符合JSON格式的字符串,通常在...

    JSON+js+jquery+ajax基础.zip

    1. JSON基础知识:介绍JSON的语法结构,如对象和数组的表示,以及如何在JavaScript中创建和解析JSON对象。 2. JavaScript基础:深入讲解JavaScript的基本语法,包括变量、函数、对象等,并演示如何使用JavaScript...

    jQuery树状json数据转表格插件.zip

    1. **解析JSON**:插件首先需要解析输入的JSON数据,提取出节点信息,包括键值对和嵌套结构。 2. **构建表格**:解析后的数据会被用来生成HTML表格,每一级节点对应一行,父节点和子节点通过折叠/展开按钮进行连接。...

    jQuery查看json格式数据插件viewer.js.zip

    本资源“jQuery查看json格式数据插件viewer.js.zip”提供了一个jQuery插件,旨在帮助开发者更方便地查看和解析JSON格式的数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写...

    运用Jquery插件Json2Template写的简单项目

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Json2Template中,我们用JSON数据来驱动HTML模板的生成。 其次,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理...

    Jquery解析json字符串及json数组的方法

    在文档中给出的实例中,首先通过HTML页面提供了一个JSON格式的字符串和数组,接下来可以使用JQuery解析这些数据。例如: ```html &lt;!-- 这里放置JSON字符串 --&gt; &lt;/div&gt; &lt;!-- 这里放置JSON数组 --&gt; &lt;/div&gt; ``` ...

    json格式数据查看和编辑jQuery插件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,它以文本形式存储和传输数据,易于人阅读和编写,同时也易于机器解析和生成。jQuery是一个快速、简洁的JavaScript库,它简化...

    JSON与JQUERY

    学习如何将JavaScript对象转换为JSON字符串(`JSON.stringify()`)以及如何解析JSON数据(`JSON.parse()`)。 2. **jQuery的$.ajax()方法**:了解$.ajax()的参数,如URL、类型(GET或POST)、数据(发送到服务器的...

    Jquery解析json数据详解

    描述中提到文章将介绍jQuery解析JSON数据的具体实现方式,将从***后台实例化数据集(例如dataset或dataTable),然后转换成JSON格式,并最终通过前端的jQuery代码解析并显示这些数据。 标签“Jquery json”说明文章...

    jquery的ajax传json对象数组到struts2的action

    在前端,我们可以使用JavaScript的对象和数组来创建JSON格式的数据。例如,如果我们有一个用户列表,可以这样表示: ```javascript var users = [ { "name": "张三", "age": 30 }, { "name": "李四", "age": 25 }...

    json和jquery交互

    在与服务器进行数据交互时,JSON通常作为Ajax请求的响应数据,因为JSON格式可以直接被JavaScript解析为JavaScript对象,无需额外的转换步骤。 jQuery提供了$.ajax()函数,它是jQuery进行异步数据交互的核心方法,...

    jQuery中使用Ajax获取JSON格式数据示例代码.pdf

    JSON是基于JavaScript的一个子集,它继承了JavaScript中对象和数组的表示方法,但JSON是独立于语言的文本格式。一个JSON对象以键值对的形式存在,用大括号`{}`包围,数据间用逗号`,`分隔。一个数组以方括号`[]`包围...

    jquery-3.3.1js与咖啡店各年订单.json

    此外,jQuery还提供了许多实用的工具方法,如$.parseJSON()用于手动解析JSON字符串,$.extend()用于合并两个或多个对象,以及$.ajax()作为更通用的异步请求方法,允许自定义更多请求选项。 总结来说,jQuery 3.3.1...

Global site tag (gtag.js) - Google Analytics