json数据请问怎么遍历
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json数据请问怎么遍历相关的知识,希望对你有一定的参考价值。
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
CompanyDao companyDao=new CompanyDaoImpl();
List<Company> companyList=companyDao.companyinformation();
JSONArray jsonlist=JSONArray.fromObject(companyList);
System.out.println(jsonlist);
%>
上面jsonlist可以获取JSON格式的数据 但是不知道在JS里要如何遍历?我的JS代码是
var zNodes =[
<%
for(Company company : jsonlist)
%>
"id":<%=company.getId()%>, "pId":<%=company.getPid()%>, "name":"<%=company.getName()%>","p_order":<%=company.getP_order()%>,
<%%>
];
提示错误说Type mismatch: cannot convert from element type Object to Company
应该是JSON格式的数据不能直接这样遍历 请问要怎么遍历这个JSON数据?
var anObject = one:1,two:2,three:3;//对json数组each
$.each(anObject,function(name,value)
);
如果是Java代码直接用for循环就行了,说白了json也是数组的一种,json对象和json数组都可以
//遍历json数组
String json1 = "data:[name:'Wallace',name:'Grommit']";
jsonObjSplit = new JSONObject(json1);
JSONArray ja = jsonObjSplit.getJSONArray("data");
for (int i = 0; i < ja.length(); i++) JSONObject jo = (JSONObject) ja.get(i);System.out.println(jo.get("name"));
//JSONObject遍历json对象
String json2 = "name:'Wallace',age:15";
jsonObj = new JSONObject(json2);
for (Iterator iter = jsonObj.keys(); iter.hasNext();) String key = (String)iter.next();System.out.println(jsonObj .getString(Key));} 参考技术A
用
arrdata = jquery.parseJSON(jsonlist);或者用
eval("arrdata = " + jsonlist + ";");然后
for(i = 0 ;i < arrdata.length; i ++ )alert(arrdata[i].pId);
这样来访问数据了~~~
追问你这几步都是写JS里面的吗? 完全没有作用啊。而且我foreach循环里面的都是java的对象,不是JS里面创建的
追答jsonlist是从后台返回的吗?我用php就是后台返回json_encode
追问我用的是JSP 已经搞定了 原来直接遍历list 不用遍历Json也可以的 还是3Q了
本回答被提问者采纳 参考技术B JSONArray类型的数据,遍历出来是JSONObject,你试试把Company换成JSONObject追问不行的啊 我要创建company对象来使用Company里的get方法
追答那你当初就不要把它转换成JSONArray,你这个对象List companyList 可以直接遍历,为毛要转换成JSONArray。
你直接遍历companyList 呗,遍历出来的对象不就是Company对象了?
请问java不同类的对象怎么放在同一个数组,然后如何对这个数组进行遍历
这样设置对象数组对吗 该如何遍历
数组只能限定为某一个类型,即数组内的所有元素都是相同类型的。不同的类就意味着数据类型不同,不可能放在一起。追问请问要如何做到如图的要求
追答创建一个父类,假设为Animal类,再分别创建这三个动物子类继承Animal类。这样Animal数组里不就可以放入这三个子类对象了嘛,当然会涉及到类型强转。
参考技术A 或者说直接用List集合把你这几个数组直接用一个List表示。然后使用迭代器遍历集合 参考技术B 也可以把类存到object数组里面以上是关于json数据请问怎么遍历的主要内容,如果未能解决你的问题,请参考以下文章