jquery处理json数据实例分析


Posted in Javascript onJune 03, 2014

一、JSON的一些基础知识。

JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value)。

 “[]”,标识数组,数组内部各个数据之间通过“,”分割,如[“AreaId”:”123”,”AreaId”:”345”]。

很多情况下是对象数组,那就是这样:

[{“AreaId”:”123”},{“AreaId”:”345”}]

其实数组也是一个对象,上面的格式也可以写成这样:

{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}

这表示一个Area对象,他有两个子数据,每个子数据也是一个对象,每个子对象都是AreaId。

 JSON中字符串和字符的定义格式和一般的类C语言定义是类似的,双引号定义字符串,单引号定义字符。

JSON的键(Key)用双引号括起来,比如上面的“Area“和”AreaId“,都是用双引号括起来的,在一些语言中构造JSON字符串的时候,可以使用转义字符转义双引号。

 二、javascript操作JSON字符

1、先要区分JSON字符串和JSON对象

JSON字符串:

Var strJSON = “{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}”,

其实也可以写成这样:

Var strJSON = ‘{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}',

这表示一个JSON字符串,由于在Js中单引号和双引号都可以表示一个字符串,所以上面第一个使用双引号和第二个使用单引号的都表示一个JSON字符串。

下面看看JSON对象

Var JSON = {“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]},

看到了吧,JSON对象最外面是没有单引号或者双引号的,这就表示一个JSON对象。

在服务器端的脚本:

<?php
$data['id'] = 1;
$dat['name'] = "mary";
$da['red']= array_merge($data,$dat);
$data1['id'] = 2;
$dat1['name'] = "燕子";
$da['blue']= array_merge($data1,$dat1);
print_r($da);///打印出来是一个二维数组(如下)
/*
Array
(
    [red] => Array
        (
            [id] => 1
            [name] => mary
        )
    [blue] => Array
        (
            [id] => 2
            [name] => 燕子
        )
)
*/
echo json_encode($da);//输出的是一个转化成json格式的字符串,可以直接在js中用(如下)
/*
{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}}
*/
?>

jquery脚本:

返回到js后的处理:
第一种要用到varl转化的:是字符串的时候就要用eval转化成jquery对象(如下)

var arr = '{"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}}';//u71d5u5b50这个是php中自动转换的
var dataObj = eval("("+arr+")");//这里要加上加好括号和双引号的原因我也不知道,就当是json语法,只能死记硬背了
  $.each(dataObj,function(idx,item){  
   //输出 
   alert(item.id+"哈哈"+item.name);  
})

第二种:不需要转化的:

var arr = {"red":{"id":1,"name":"mary"},"blue":{"id":2,"name":"u71d5u5b50"}};
  $.each(arr,function(idx,item){    
   //输出
   alert(item.id+"哈哈"+item.name);
})

循环也有两种方法:
//方法一:

$.each(arr,function(idx,item){    
   //输出
   alert(item.id+"哈哈"+item.name);
})

//方法二:

for(var key in arr){
  alert(key);
  alert(arr[key].status);
 }

大家可以试试效果。

ajax返回JSON时的处理方式

 1,使用普通的aspx页面来处理
本人觉得这种方式处理起来是最简单的了,看下面的代码吧

$.ajax({
  type: "post",
  url: "Default.aspx",
  dataType: "json",
  success: function (data) {
          $("input#showTime").val(data[0].demoData);
  },
  error: function (XMLHttpRequest, textStatus, errorThrown) {
          alert(errorThrown);
   }
});

这里是后台传递数据的代码

Response.Clear();
Response.Write("[{"demoData":"This Is The JSON Data"}]");
Response.Flush();
Response.End();

这种处理的方式将传递过来的数据直接解析为json数据,也就是说这里的前台js代码可能直接把这些数据解析成json对象数据,而并非字符串数据,如data[0].demoData,这里就直接使用了这个json对象数据

Javascript 相关文章推荐
JavaScript效率调优经验
Jun 04 Javascript
node.js中的console.trace方法使用说明
Dec 09 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
纯js实现手风琴效果
Apr 17 Javascript
bootstrap 表单验证使用方法
Jan 11 Javascript
利用PM2部署node.js项目的方法教程
May 10 Javascript
微信、QQ、微博、Safari中使用js唤起App
Jan 24 Javascript
vue2.0 路由不显示router-view的解决方法
Mar 06 Javascript
浅析vue中常见循环遍历指令的使用 v-for
Apr 18 Javascript
原生js检测页面加载完毕的实例
Sep 11 Javascript
Vue实例的对象参数options的几个常用选项详解
Nov 08 Javascript
jQuery实现的移动端图片缩放功能组件示例
May 01 jQuery
js 获取浏览器版本以此来调整CSS的样式
Jun 03 #Javascript
jQuery绑定事件不执行但alert后可以正常执行
Jun 03 #Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
Jun 03 #Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 #Javascript
jquery动态改变form属性提交表单
Jun 03 #Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 #Javascript
jQuery学习笔记之jQuery构建函数的7种方法
Jun 03 #Javascript
You might like
PHP实现网上点歌(二)
2006/10/09 PHP
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
HTML中嵌入PHP的简单方法
2016/02/16 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
Laravel Reponse响应客户端示例详解
2020/09/03 PHP
查看大图功能代码jquery版
2013/11/05 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
js实现漫天星星效果
2017/01/19 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
JSONObject与JSONArray使用方法解析
2020/09/28 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
python实现用户答题功能
2018/01/17 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
Django实现celery定时任务过程解析
2020/04/21 Python
django 模版关闭转义方式
2020/05/14 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
python中xlrd模块的使用详解
2021/02/01 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
工程造价自荐信
2013/10/09 职场文书
心得体会怎么写
2013/12/30 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
高一军训决心书
2015/02/05 职场文书
北京英语导游词
2015/02/12 职场文书