2016-11-21 25 views
6

kullanarak json verileri benim id = 101 kontrol etmeye çalışıyorum ve ad = pushkar id = 101 ile assosiated alıyorum benim kodum.Ama kod beklendiği gibi çalışmıyor.Şartlı olarak java

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

eğer (ID1! = Null && out1.equals (ID1)) burada out1 olup olmadığını kontrol edin ve ID1 farklı değerlere sahip olabilirsiniz bu nedenle durumunuz doğru olmayacaktır – Onkar

cevap

1

Neden1 ile ID1'i karşılaştırıyorsunuz? Eğer out1 ID1 içeriyorsa (ID1'i out1'den aldığınız gibi çok anlamsız değilse) veya ID1'in 101'e eşit olduğunu doğrulamak isteyip istemediğinizi kontrol etmek istersiniz. Bu durumda, şöyle bir şey söylemek istersiniz:

if(ID1!=null && "101".equals(ID1)) 
    { 
    System.out.println("NAME"+jobj.get("name")); 
    } 
+0

Teşekkürler çok! Bu arıyordum wat – codehacker

1

deneyin değiştirmek için eğer böyle durumu:

if(ID1!=null && out1.contains(ID1)) 
    { 
    System.out.println("NAME"+jobj.get("name")); 
    } 

teşekkürler.