2013-11-15 9 views
1

Моего JSON код выглядит следующим образом:Как получить первое значение JSONArray?

returnString = "";   
     JSONArray jArray = new JSONArray(result); 
     for(int i=0;i<jArray.length();i++){ 
      JSONObject json_data = jArray.getJSONObject(i); 
      JSONObject c = json_data.getJSONObject("data"); 
      Log.i("log_tag","statues: "+c.getString("statues"));     
      returnString = c.getString("statues"); } 

Теперь я хочу, чтобы увидеть значение в моем JSONArray. Значение для статуй равно 0 или 1. Кроме того, я буду использовать их в фразе if else.

Что я имею в виду что-то вроде этого:

if(value of statues = 0){ 
do something} 
else{ 
do something else} 

Как бы мне это сделать?

+1

Я не понимаю ваш вопрос вообще. Для каких случаев вы хотите, чтобы «это» было 1? –

+0

@ Великолепно, спасибо за вашу заботу. Я отредактировал мой вопрос. – Sean

+1

Вы имеете в виду 'if (c.getString (" statues "). Equals (" 0 ")) {/ * ... * /} else {/ * ... * /}' –

ответ

2

Если вы хотите только первое значение состояния в JSONArray

, чтобы получить первое значение из JSONArray просто сделать вне цикла и перед, если заявление:

JSONObject FirstArray = jArray.getJSONObject(0); // first Array in JSONArray 
JSONObject data = FirstData.getString("data"); 
String FirstStatusValue = data.getString("Status"); 

затем разобрать FirstStatusValue на int и использовать его в if.

Я надеюсь, что я понял ваш вопрос хорошо, если я не сделал, пожалуйста, поправьте меня

, если вы хотите, чтобы все значения состояния в пределах JSONArray

перед циклом объявить массив строки в и добавить все значение состояния в нем, то цикл:

String[] StatusArray = new String[jArray.length()]; // will make the status array has the same length as the JSONArray 
for(int i=0;i<jArray.length();i++){ 
     JSONObject json_data = jArray.getJSONObject(i); 
     JSONObject c = json_data.getJSONObject("data"); 
     Log.i("log_tag","statues: "+c.getString("statues")); 
     StatusArray[i] = c.getString("status"); 
     } 

то для если оператор добавить цикл затем проверить заявление, как:

for (int i = 0; i < StatusArray.length(); i++) 
{ 
    if (StatusArray[i] == 0) 
     // do something 
    else 
     // do something 

} 
+1

Благодарим вас за беспокойство. Твой путь тоже замечательный. Но человек, названный @still_learning, ответил на него наилучшим образом. – Sean

Смежные вопросы