java从list集合中取值问题
把一个json中所有数据都放入一个list集合中:{{"id"=1,"a"=2,"b"=["id"=13,],"c"="x1"},{"id"=5,"a"=6,"b"=["...
把一个json中所有数据都放入一个list集合中:
{
{"id"=1,"a"=2,"b"=["id"=13,],"c"="x1"},
{"id"=5,"a"=6,"b"=["id"=1],"c"="x2"},
{"id"=9,"a"=10,"b"=["id"=5],"c"="x3"},
{"id"=13,"a"=14,"b"=["id"=1,"id"=5],"c"="x4"}
}
这样的一个list集合 如果传给他一个id 如何根据这个id把id,a,b,c都取出来呢 展开
{
{"id"=1,"a"=2,"b"=["id"=13,],"c"="x1"},
{"id"=5,"a"=6,"b"=["id"=1],"c"="x2"},
{"id"=9,"a"=10,"b"=["id"=5],"c"="x3"},
{"id"=13,"a"=14,"b"=["id"=1,"id"=5],"c"="x4"}
}
这样的一个list集合 如果传给他一个id 如何根据这个id把id,a,b,c都取出来呢 展开
3个回答
展开全部
我擦,谁告诉你这是json格式字符串。=应该是:其次最外层的{ }应该换成[ ]才对接着可以使用下面方法解决问题
JSONArray jsons = JSONArray.fromObject(jsonlist);
for(int i=1;i<jsons.size();i++){
JSONObject tempJson = JSONObject.fromObject(jsons.get(i));
System,out.print(tempJson.getString("id"));//其中id可以换成a,b.id,c依次得到对应的值。
}
JSONArray jsons = JSONArray.fromObject(jsonlist);
for(int i=1;i<jsons.size();i++){
JSONObject tempJson = JSONObject.fromObject(jsons.get(i));
System,out.print(tempJson.getString("id"));//其中id可以换成a,b.id,c依次得到对应的值。
}
更多追问追答
追问
汗 我那个自己写的。。就那么个意思 你写的这个我用了 取出来之后呢 我现在是想根据传过来的id 把对应的a,b,c取出来
追答
你可以对id做下判断啊比如:
JSONArray jsons = JSONArray.fromObject(jsonlist);
for(int i=1;i<jsons.size();i++){
JSONObject tempJson = JSONObject.fromObject(jsons.get(i));
if(id.equals(tempJson.getString("id"))){
System,out.print(tempJson.getString(str));//其中str可以换成a,b.id,c依次得到对应的值。
}
}
展开全部
List中存的是JSONObject,那么你get出来后还要经过解析JSON这个步骤才能得到里面对应的值。
追问
我已经取到json了 也放到list中了 我问的是:这样的一个list集合 如果传给他一个id 如何根据这个id把id,a,b,c都取出来呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import org.codehaus.jettison.json.JSONArray;
import org.codehaus.jettison.json.JSONObject;
引入jar包。
String item= json字符串;
JSONArray ja = new JSONArray(item);
for(int i=0;i<ja.length();i++){
JSONObject iObj=ja.getJSONObject(i);
String id=iObj.getString("id");
JSONObject b=iObj,getJSONObject("b");
}
基本这样。
你搜索一下java 使用json就可以了。
import org.codehaus.jettison.json.JSONObject;
引入jar包。
String item= json字符串;
JSONArray ja = new JSONArray(item);
for(int i=0;i<ja.length();i++){
JSONObject iObj=ja.getJSONObject(i);
String id=iObj.getString("id");
JSONObject b=iObj,getJSONObject("b");
}
基本这样。
你搜索一下java 使用json就可以了。
追问
我已经取到json了 也放到list中了 我问的是:这样的一个list集合 如果传给他一个id 如何根据这个id把id,a,b,c都取出来呢
追答
遍历啊,list里面是JSONObject是吧。
然后你去id。
String id=iObj.getString("id");
if(id.equals("传递进来的参数")){
去a,b,c,取法和id一样啊。类似这样。String id=iObj.getString("id");
}
还不行就上代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询