在解析之前,我们必须弄清楚几个概念:数组,关联数组以及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){...})进行操作
三.具体的实例代码
页面代码:
- <body>
- <input type="button" value="send ajax json" 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;
- alert(typeof obj);//string
- //var a=eval(obj);不解,不注释则会报错..
- var strToobj=$.parseJSON(obj);
- alert(strToobj.name);
- alert(typeof strToobj)//obj
- var obja={'name':'techbirds','age':'23','sex':'male'};
- alert(typeof obja);//obj
- alert(obja['name']+":"+obja.age);
- delete obja['name'];
- });
- }
- function sendAjaxByarray(){
- $.post("array",{},function(data){
- var str=data;
- alert(typeof str);//string
- alert(typeof eval(str));//object
- var obja=[1,2,3,4,5];
- alert(typeof obja);//object
- });
- }
- </script>
- @Override
- protected void service(HttpServletRequest req, HttpServletResponse reps)
- throws ServletException, IOException {
- Map<String, Object> jsonMap=new HashMap<String, Object>();
- jsonMap.put("name", "techbirds");
- jsonMap.put("age", 23);
- jsonMap.put("sex", "male");
- reps.getWriter().print(JSONObject.fromObject(jsonMap).toString());
- reps.getWriter().flush();
- reps.getWriter().close();
- }
- @Override
- protected void service(HttpServletRequest req, HttpServletResponse reps)
- throws ServletException, IOException {
- String array="[1,2,3,4,5,6]";
- reps.getWriter().print(array);
- reps.getWriter().flush();
- reps.getWriter().close();
- }
相关推荐
在JavaScript和jQuery中,解析JSON和数组格式是常见的任务,特别是在与服务器进行数据交互时。首先,我们需要了解一些基本概念。 1. **数组**:在JavaScript中,数组是一种特殊的对象,用于存储一系列值。数组的...
### Jquery解析json #### 知识点概览 1. **JSON介绍** 2. **jQuery与JSON数据交互** 3. **Struts2框架简介** 4. **JSON类库的选择与使用** 5. **服务器端Java程序编写** 6. **前端jQuery解析JSON数据** #### JSON...
首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在前端应用中,我们经常从服务器获取JSON格式的数据,然后在...
首先,JSON是一种基于JavaScript语法的数据格式,它可以表示复杂的数据结构,包括对象和数组。在jQuery中,我们经常使用JSON来进行Ajax请求,获取或发送数据。 一、解析JSON数据 在jQuery中,我们可以使用`$.parse...
JSON数据结构包括对象(键值对)和数组(有序集合),例如: ```json { "name": "张三", "age": 30, "hobbies": ["阅读", "编程"] } ``` 在jQuery中,我们可以使用`$.parseJSON()`(在jQuery 3.0后被`$.json()`...
在JavaScript和jQuery的世界里,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级、易读易写的特点而被广泛应用于前后端数据交互。本教程将深入探讨如何利用JS和jQuery对JSON对象进行操作,...
在讨论jQuery解析JSON数据的方法前,我们需要了解JSON数据的两种基本形式:JSON对象和JSON字符串。JSON对象是JavaScript中的一个对象字面量,通常在程序中直接使用;JSON字符串则是一个符合JSON格式的字符串,通常在...
1. JSON基础知识:介绍JSON的语法结构,如对象和数组的表示,以及如何在JavaScript中创建和解析JSON对象。 2. JavaScript基础:深入讲解JavaScript的基本语法,包括变量、函数、对象等,并演示如何使用JavaScript...
1. **解析JSON**:插件首先需要解析输入的JSON数据,提取出节点信息,包括键值对和嵌套结构。 2. **构建表格**:解析后的数据会被用来生成HTML表格,每一级节点对应一行,父节点和子节点通过折叠/展开按钮进行连接。...
本资源“jQuery查看json格式数据插件viewer.js.zip”提供了一个jQuery插件,旨在帮助开发者更方便地查看和解析JSON格式的数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写...
JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Json2Template中,我们用JSON数据来驱动HTML模板的生成。 其次,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理...
在文档中给出的实例中,首先通过HTML页面提供了一个JSON格式的字符串和数组,接下来可以使用JQuery解析这些数据。例如: ```html <!-- 这里放置JSON字符串 --> </div> <!-- 这里放置JSON数组 --> </div> ``` ...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,它以文本形式存储和传输数据,易于人阅读和编写,同时也易于机器解析和生成。jQuery是一个快速、简洁的JavaScript库,它简化...
学习如何将JavaScript对象转换为JSON字符串(`JSON.stringify()`)以及如何解析JSON数据(`JSON.parse()`)。 2. **jQuery的$.ajax()方法**:了解$.ajax()的参数,如URL、类型(GET或POST)、数据(发送到服务器的...
描述中提到文章将介绍jQuery解析JSON数据的具体实现方式,将从***后台实例化数据集(例如dataset或dataTable),然后转换成JSON格式,并最终通过前端的jQuery代码解析并显示这些数据。 标签“Jquery json”说明文章...
在前端,我们可以使用JavaScript的对象和数组来创建JSON格式的数据。例如,如果我们有一个用户列表,可以这样表示: ```javascript var users = [ { "name": "张三", "age": 30 }, { "name": "李四", "age": 25 }...
在与服务器进行数据交互时,JSON通常作为Ajax请求的响应数据,因为JSON格式可以直接被JavaScript解析为JavaScript对象,无需额外的转换步骤。 jQuery提供了$.ajax()函数,它是jQuery进行异步数据交互的核心方法,...
JSON是基于JavaScript的一个子集,它继承了JavaScript中对象和数组的表示方法,但JSON是独立于语言的文本格式。一个JSON对象以键值对的形式存在,用大括号`{}`包围,数据间用逗号`,`分隔。一个数组以方括号`[]`包围...
此外,jQuery还提供了许多实用的工具方法,如$.parseJSON()用于手动解析JSON字符串,$.extend()用于合并两个或多个对象,以及$.ajax()作为更通用的异步请求方法,允许自定义更多请求选项。 总结来说,jQuery 3.3.1...