引用一下JSON2.js 网上可以下到var JsonObject = JSON.parse(jsonString); 这样可以转换为json对象然后就可以用了。
详细用法请参考http://www.jb51.net/article/22588.htm
详细用法请参考http://www.jb51.net/article/22588.htm
解决方案 »
- struts2 显示map中一个值的问题
- 问一个struts2 问题
- JAVA的悲哀,这是我自已与给学JAVA时的一篇血泪书,持相同观点的可以顶,不同观点的不要对我扔鸡蛋哦!
- tomcat下无法连socket
- 不理解的jsp脚本
- 求 JspSmartUpload 无限制版!发到信箱马上给分。
- 7/7:用代码段变量的错误?(好了,终于问完了今天的问题,是不是可以当选单日问题最多奖^_^)
- jsp中怎样连接ORACLE SQL等数据库?
- weblogic6.1下javabean应该放在哪??100分求助~~~~~~~~~~~~~~~~~~
- 关于memcached的使用方法的求助
- 分页时传参数时出现乱码
- struts2 关于session我纠结的问题
$.get("cyjsonAction?act=inittitle",null,function(str){
alert(str);
var data = eval("(" + str + ")");
var json=data.newName;
for (x in json) {
alert(json[x].Title.id);
}
});});
var json=data.newName;
for (x in json){
alert(json[x].toSource().Title.id);
}
我这样取不了值
json字符串,最后加上 trim(json字符串),去掉后台传过来时,前台的空格
直接用 var jsonObject = eval('('+ json字符串+')');
然后通过 jsonObject.xxx即可得到你需要的值如果是在后台的话,可以用JSONObject.from(xxx),解析成java对象,如果用spring mvc直接或许即可
alert(json[i].xxx);}
$.get("cyjsonAction?act=inittitle",null,function(str){
alert(str);
var data = eval("(" + str + ")");
var json=data.newName;
for (x in json){
var r= json[x];
alert(r);
}
});});
如果是字符串可以像这样解析
var a='{"rows":[{"id":1,"name":"32"}],total:23}';
alert(a);
var obj = eval('('+a+')');
alert(obj.rows[0].id);如果已经是json对象或数组对象,可以通过下面这个把它转换成json字符串
JSON.stringify(变量);
var jsonstring = JSON.stringify(变量);
alert(jsonstring);
然后遍历newName这个key,这样写:
$.each(data.newName,function(i,news){
$.each(news,function(in,new){
$.each(new,function(index,detail){//这个集合是最终的子节点集
var id = detail.id;
var name = detail.name;
var title_id = detail.title_id;
});
});
});
$.get("cyjsonAction?act=inittitle",null,function(str){
alert(str);
var data = eval("(" + str + ")");
var json=data.newName;
for (x in json){
var r= json[x];
var st=eval("(" + r.toSource().toString()+ ")");
for(j in st){
alert(j.toString().substring(j.toString().indexOf("id=",0)+3,j.toString().indexOf(",",0)));
alert(j.toString().substring(j.toString().indexOf("title=",0)+6,j.toString().indexOf("]",0)));
var jsonstring = JSON.stringify(st[j]);
for(k in jsonstring){
//alert(jsonstring[k].name);
}
}
}
$.each(data.newName,function(i,news){
$.each(news,function(in,new){
$.each(new,function(index,detail){//这个集合是最终的子节点集
var id = detail.id;
var name = detail.name;
var title_id = detail.title_id;
});
});
});
});});
你给的方法使用不了
$(function(){
var str = "{'newName':[{'Title [id=1, title=主页]':[]},{'Title [id=2, title=医疗产品]':[{'id':1,'name':'自动注射器','title_id':2},{'id':2,'name':'血压器','title_id':2},{'id':3,'name':'血糖仪','title_id':2}]},{'Title [id=3, title=智能家居]':[{'id':4,'name':'智能窗台','title_id':3},{'id':5,'name':'智能门','title_id':3},{'id':6,'name':'智能电灯','title_id':3},{'id':7,'name':'智能沙发','title_id':3}]},{'Title [id=4, title=技术支持]':[]},{'Title [id=5, title=公司简介]':[]}]}";
var data = eval("("+str+")");
var result = "";
$.each(data.newName,function(i,news){
$.each(news,function(j,titles){
var trcon = "<tr>";
$.each(titles,function(k,detail){
var id = detail.id;
var name = detail.name;
var title_id = detail.title_id;
trcon += "<td>"+id+"</td><td>"+name+"</td><td>"+title_id+"</td>";
});
trcon += "<tr>";
$('#mylist').append(trcon);
});
});
})
</script><body>
<table id='mylist'></table>
</body>
你这个不是字符串数据嘛,
如果是字符串可以像这样解析JavaScript code?1234 var a='{"rows":[{"id":1,"name":"32"}],total:23}'; alert(a); var obj = eval('('+a+')'); alert(obj.rows[0].id); 如果已经是json对象或数组对象,可以通过下面这个把它转换成json字符串
JSON.stringify(变量);
alert(va);
var obj = eval('(' + va + ')');
alert(obj.newName.length); //第一层对象长度
alert(JSON.stringify(obj.newName[1]));//获取第二个对象我只会解到这了,不好意思
最后弹出的内容:
{"Title [id=2, title=医疗产品]":[{"id":1,"name":"自动注射器","title_id":2},{"id":2,"name":"血压器","title_id":2},{"id":3,"name":"血糖仪","title_id":2}]}
中我觉得“ ”是不是应该加给Title