下面是我的代码,我试图检查id id = 101并获得与id = 101相关的名称= Pushkar。但是代码没有按预期工作。
import org.json.simple.JSONArray;
import org.json.JSONException;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class A6 {
public static void main(String[] args) throws ParseException, JSONException{
String out1="{\"Employee\":[{\"id\":\"101\",\"name\":\"Pushkar\",\"salary\":\"5000\"},{\"id\":\"102\",\"name\":\"Rahul\",\"salary\":\"4000\"},{\"id\":\"103\",\"name\":\"tanveer\",\"salary\":\"56678\"}]}";
//System.out.println(out1);
JSONParser parser=new JSONParser();
JSONObject obj=(JSONObject)parser.parse(out1);
//System.out.print(obj);
JSONArray jarr=(JSONArray)obj.get("Employee");
//System.out.print(jarr);
for (int i=0;i<jarr.size();i++)
{
JSONObject jobj=(JSONObject)jarr.get(i);
String ID1=(String)jobj.get("id");
System.out.println(ID1);
if(ID1!=null && out1.equals(ID1))
{
System.out.println("NAME"+jobj.get("name"));
}
}
}}
答案 0 :(得分:1)
尝试改变如下条件:
if(ID1!=null && out1.contains(ID1))
{
System.out.println("NAME"+jobj.get("name"));
}
感谢。
答案 1 :(得分:1)
为什么要将out1与ID1进行比较?你想要检查out1是否包含ID1(当你从out1中检索ID1时,这不是很有意义),或者你想验证ID1是否等于101.在这种情况下,你宁愿想要说出类似的内容:
if(ID1!=null && "101".equals(ID1))
{
System.out.println("NAME"+jobj.get("name"));
}