解析json数组,该json怎么解析数组决

Jquery解析json字符串及json数组的方法
作者:wo_soul
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Jquery解析json字符串及json数组的方法,实例分析了jQuery操作json格式字符串与数组的相关技巧,需要的朋友可以参考下
本文实例讲述了Jquery解析json字符串及json数组的方法。分享给大家供大家参考。具体如下:
&!doctype html&
&meta charset="utf-8"&
&script src="js/jquery-1.6.2.min.js"&&/script&
&h3&解析json字符串、json数组&/h3&
&input type="button" id="jsonBtn" name="jsonBtn" value="jsonArray" /&
&input type="button" id="jsonArray2" name="jsonArray2" value="jsonArray2" /&
&input type="button" id="jsonStr" name="jsonStr" value="jsonStr" /&
&input type="button" id="jsonStr2" name="jsonStr2" value="jsonStr2" /&
&div class="jsonText"&
{"ret": 0, "msg": "", "is_lost":0, "nickname": "小米", "gender": "男", "province": "广东", "city": "广州", "year": "1990", "figureurl": "http:\/\/\/qzapp\/\/D87BF108BCE96E", "figureurl_1": "http:\/\/\/qzapp\/\/D87BF108BCE96E", "figureurl_2": "http:\/\/\/qzapp\/\/D87BF108BCE96E0", "figureurl_qq_1": "http:\/\/\/qqapp\/\/D87BF108BCE96E", "figureurl_qq_2": "http:\/\/\/qqapp\/\/D87BF108BCE96E0", "is_yellow_vip": "0", "vip": "0", "yellow_vip_level": "0", "level": "0", "is_yellow_year_vip": "0"}
&div class="jsonArray"&
{name:'1',value:'0'},
{name:'6101',value:'西安市'},
{name:'6102',value:'铜川市'},
{name:'6103',value:'宝鸡市'},
{name:'6104',value:'咸阳市'},
{name:'6105',value:'渭南市'},
{name:'6106',value:'延安市'},
{name:'6107',value:'汉中市'},
{name:'6108',value:'榆林市'},
{name:'6109',value:'安康市'},
{name:'6110',value:'商洛市'}
{name:'6103',value:'宝鸡市'},
{name:'6104',value:'咸阳市'},
{name:'6107',value:'汉中市'},
{name:'6108',value:'榆林市'},
{name:'6110',value:'商洛市'}
&div class="jsonArray2"&
{name:'1',value:'0'},
{name:'6101',value:'西安市'},
{name:'6102',value:'铜川市'},
{name:'6103',value:'宝鸡市'},
{name:'6104',value:'咸阳市'},
{name:'6105',value:'渭南市'},
{name:'6106',value:'延安市'},
{name:'6107',value:'汉中市'},
{name:'6108',value:'榆林市'},
{name:'6109',value:'安康市'},
{name:'6110',value:'商洛市'}
&script type="text/javascript"&
///jQuery 解析json字符串
//解析复杂的json数组
$("#jsonBtn").click(function(){
var data=$(".jsonArray").html();
alert("-----"+data);
var dataObj=eval("("+data+")");//转换为json对象
alert(dataObj.root.length);//输出root的子对象数量
alert(dataObj.json.length);//输出json的子对象数量
//遍历json数组
$.each(dataObj.root, function(i, item) {
alert(item.name+"-----root-------"+item.value);
//遍历json数组
$.each(dataObj.json, function(i, item) {
alert(item.name+"-----json-------"+item.value);
//解析单个的json数组
$("#jsonArray2").click(function(){
var data=$(".jsonArray2").html();
alert("-----"+data);
var dataObj=eval("("+data+")");//转换为json对象
alert(dataObj.length);//输出root的子对象数量
//遍历json数组
$.each(dataObj, function(i, item) {
alert(item.name+"-----jsonArray-------"+item.value);
///解析标准的Json串 方法一
$("#jsonStr").click(function(){
var json=$(".jsonText").html();
alert("---2--"+json);
var item = jQuery.parseJSON(json);
alert(item.nickname);
alert(item.ret);
alert(item.figureurl );
///解析标准的Json串,方法二
$("#jsonStr2").click(function(){
var json=$(".jsonText").html();
alert("---2--"+json);
var obj = eval("("+json+")");
alert(obj.nickname);
alert(obj.ret);
alert(obj.figureurl );
希望本文所述对大家的jQuery程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具android--吊车尾的一路向上(45)
json数据格式解析我自己分为两种;
一种是普通的,一种是带有数组形式的;
普通形式的:
服务器端返回的json数据格式如下:
{&userbean&:{&Uid&:&100196&,&Showname&:&\u75af\u72c2\u\u5b50&,&Avtar&:null,&State&:1}}
分析代码如下:
// TODO 状态处理 500 200&
& & & & & & & & int res = 0;&
& & & & & & & & res = httpClient.execute(httpPost).getStatusLine().getStatusCode();&
& & & & & & & & if (res == 200) {&
& & & & & & & & & & /*&
& & & & & & & & & & &* 当返回码为200时,做处理&
& & & & & & & & & & &* 得到服务器端返回json数据,并做处理&
& & & & & & & & & & &* */&
& & & & & & & & & & HttpResponse httpResponse = httpClient.execute(httpPost);&
& & & & & & & & & & StringBuilder builder = new StringBuilder();&
& & & & & & & & & & BufferedReader bufferedReader2 = new BufferedReader(&
& & & & & & & & & & & & & & new InputStreamReader(httpResponse.getEntity().getContent()));&
& & & & & & & & & & String str2 = &&;&
& & & & & & & & & & for (String s = bufferedReader2.readLine(); s != s = bufferedReader2&
& & & & & & & & & & & & & & .readLine()) {&
& & & & & & & & & & & & builder.append(s);&
& & & & & & & & & & }&
& & & & & & & & & & Log.i(&cat&, &&&&&&&& + builder.toString());
JSONObject jsonObject = new JSONObject(builder.toString())&
& & & & & & & & & & & & .getJSONObject(&userbean&);&
& & & & & & & & String U&
& & & & & & & & String S&
& & & & & & & & String A&
& & & & & & & & String S&
& & & & & & & & Uid = jsonObject.getString(&Uid&);&
& & & & & & & & Showname = jsonObject.getString(&Showname&);&
& & & & & & & & Avtar = jsonObject.getString(&Avtar&);&
& & & & & & & & State = jsonObject.getString(&State&);
带数组形式的:
服务器端返回的数据格式为:
{&calendar&:&
& & {&calendarlist&:&
& & & & & & [&
& & & & & & {&calendar_id&:&1705&,&title&:&(\u4eb2\u5b50)ddssd&,&category_name&:&\u9ed8\u8ba4\ub&,&showtime&:&&,&endshowtime&:&&,&allDay&:false},&
& & & & & & {&calendar_id&:&1706&,&title&:&(\u65c5\u884c)&,&category_name&:&\u9ed8\u8ba4\ub&,&showtime&:&&,&endshowtime&:&&,&allDay&:false}&
& & & & & & ]&
分析代码如下:
// TODO 状态处理 500 200&
& & & & & & & & int res = 0;&
& & & & & & & & res = httpClient.execute(httpPost).getStatusLine().getStatusCode();&
& & & & & & & & if (res == 200) {&
& & & & & & & & & & /*&
& & & & & & & & & & &* 当返回码为200时,做处理&
& & & & & & & & & & &* 得到服务器端返回json数据,并做处理&
& & & & & & & & & & &* */&
& & & & & & & & & & HttpResponse httpResponse = httpClient.execute(httpPost);&
& & & & & & & & & & StringBuilder builder = new StringBuilder();&
& & & & & & & & & & BufferedReader bufferedReader2 = new BufferedReader(&
& & & & & & & & & & & & & & new InputStreamReader(httpResponse.getEntity().getContent()));&
& & & & & & & & & & String str2 = &&;&
& & & & & & & & & & for (String s = bufferedReader2.readLine(); s != s = bufferedReader2&
& & & & & & & & & & & & & & .readLine()) {&
& & & & & & & & & & & & builder.append(s);&
& & & & & & & & & & }&
& & & & & & & & & & Log.i(&cat&, &&&&&&&& + builder.toString());&
& & & & & & & & & & /**&
& & & & & & & & & & &* 这里需要分析服务器回传的json格式数据,&
& & & & & & & & & & &*/&
& & & & & & & & & & JSONObject jsonObject = new JSONObject(builder.toString())&
& & & & & & & & & & & & & & .getJSONObject(&calendar&);&
& & & & & & & & & & JSONArray jsonArray = jsonObject.getJSONArray(&calendarlist&);&
& & & & & & & & & & for(int i=0;i&jsonArray.length();i++){&
& & & & & & & & & & & & JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);&
& & & & & & & & & & & & CalendarInfo calendarInfo = new CalendarInfo();&
& & & & & & & & & & & & calendarInfo.setCalendar_id(jsonObject2.getString(&calendar_id&));&
& & & & & & & & & & & & calendarInfo.setTitle(jsonObject2.getString(&title&));&
& & & & & & & & & & & & calendarInfo.setCategory_name(jsonObject2.getString(&category_name&));&
& & & & & & & & & & & & calendarInfo.setShowtime(jsonObject2.getString(&showtime&));&
& & & & & & & & & & & & calendarInfo.setEndtime(jsonObject2.getString(&endshowtime&));&
& & & & & & & & & & & & calendarInfo.setAllDay(jsonObject2.getBoolean(&allDay&));&
& & & & & & & & & & & & calendarInfos.add(calendarInfo);&
& & & & & & & & & & }
总结,普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:40676次
排名:千里之外
原创:24篇
转载:53篇
评论:12条
(2)(2)(1)(2)(1)(1)(2)(4)(17)(14)(10)(5)(1)(7)(3)(3)JSON数据的详细解析方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
JSON数据的详细解析方法
上传于|0|0|文档简介
&&JSON数据详细解析方法,不看你会后悔的。
你可能喜欢

我要回帖

更多关于 json数组解析 的文章

 

随机推荐