2016-09-20 10 views
0

データを配列形式で取得するサービスを呼び出すアプリケーションを開発しています。 以下に示すよう:そのステータスがHET STOPである場合にはjson配列要素の条件をチェックする方法

[ 
{ 
    "Image":null, 
    "FirstName":null, 
    "Active":false, 
    "HallTicketNumber":0, 
    "ReportingTime":null, 
    "EventDetails":null, 
    "CompanyName":null, 
    "Designation_Role":null, 
    "EventDate":null, 
    "StateName":null, 
    "CityName":null, 
    "FullAddress":null, 
    "HallTicket_Status":"HETSTOP" 
} 
] 

私はそれがヘタ停止することを印刷する必要があり、HET_STATUSのための条件をチェックする必要があります。しかし私はそれが何を示していない状態を確認しようとしています:

以下

は私のコードです:

String StringData = "" + data; 
    try { 
      JSONArray rootArray = new JSONArray(StringData); 
      int len = rootArray.length(); 
      for (int i = 0; i < len; ++i) { 
       JSONObject json = rootArray.optJSONObject(i); 

       String CompanyName = json.optString("CompanyName "); 
       String Position = json.optString("Designation_Role"); 
       String EventDate = json.optString("EventDate"); 
       String StateName = json.optString("StateName "); 
       String CityName = json.optString("CityName"); 
       String Address = json.getString("FullAddress"); 
       String ReportingTime = json.getString("ReportingTime"); 
       String HallTicket_Status = json.getString("HallTicket_Status"); 

       if (HallTicket_Status == "HETSTOP") { 
        Toast toast = Toast.makeText(UpcomingEventsDetails.this, "HET STOP", Toast.LENGTH_LONG); 
        toast.setGravity(Gravity.CENTER, 0, 0); 
        toast.show(); 
+1

'HallTicket_Status.equalsIgnoreCase(" HETSTOP ")'を使用してください – Piyush

+0

はい、私はそれを持っています。ありがとう –

+0

Np。ようこそ !! – Piyush

答えて

1

if(HallTicket_Status.equalsIgnoreCase("HETSTOP")){ 
    Toast toast = Toast.makeText(UpcomingEventsDetails.this, "HET STOP", Toast.LENGTH_LONG); 
    toast.setGravity(Gravity.CENTER, 0, 0); 
    toast.show(); 
}else{ 
    //do something 
} 

ブールのequals(String str)文字、この方法を試してみてください:大文字と小文字を区別した比較

ブール代数sIgnoreCase(String str)文字:ケースで敏感比較

==は、まだオブジェクトの平等をテストします。しかし、ばかにするのは簡単です。

Integer a = 10; 
Integer b = 10; 

System.out.println(a == b); //prints true 

Integer c = new Integer(10); 
Integer d = new Integer(10); 

System.out.println(c == d); //prints false. however: 

Integer a = 10; 
Integer b = 10; 

System.out.println(a == b); //prints true 

Integer c = new Integer(10); 
Integer d = new Integer(10); 

System.out.println(c == d); //prints false 
+0

はあなたの問題を解決しましたか?@Anusha Dandu –

0

文字列には==の条件を使用しないでください。代わりにstr.equals("HEYSTOP")を使用します。 booleanを返します。文字列がNULLであることを確認する場合は、==または!=の条件を使用する必要があります。

関連する問題