2016-06-18 1 views
2

Мой Json массив выглядит следующим образомЧто решение для не может бросить com.google.gson.JsonArray в com.google.gson.JsonObject

[ 
    { 
     "geoRegion":"101", 
     "companyName":"101", 
     "department":"101", 
     "industry":"101", 
     "sector":"101", 
     "formName":"101", 
     "formType":true, 
     "fields":[ 
     { 
      "labelId":"102", 
      "bizJust":"101" 
     }, 
     { 
      "labelId":"103", 
      "bizJust":"101" 
     }, 
     { 
      "labelId":"104", 
      "bizJust":"101" 
     }, 
     { 
      "labelId":"129", 
      "bizJust":"102" 
     }, 
     { 
      "labelId":"128", 
      "bizJust":"102" 
     }, 
     { 
      "labelId":"144", 
      "bizJust":"102" 
     }, 
     { 
      "labelId":"143", 
      "bizJust":"102" 
     } 
     ] 
    } 
] 

Мой код выглядит следующим образом:

public Map<String,String> createTransaction(String lang) throws Exception { 

      Gson gson =new Gson(); 
      JsonObject jsonObj=gson.fromJson(lang, JsonObject.class);//Exception thrown at this line 
} 
+0

Решение преобразовать в 'JsonArray', когда это массив, и в' JsonObject', когда это объект. – RealSkeptic

ответ

1

Попытайтесь получить весь контент в массиве JSON вместо объекта JSON.

Изменить код из

JsonObject jsonObj=gson.fromJson(lang, JsonObject.class); 

к:

JsonArray array = gson.fromJson(lang, JsonArray.class); 
+0

Но тогда, как получить значения из этого JsonArray – vaibhav

+0

Существует несколько подходов к анализу JSON Array. Вы должны знать, что вам нужно. Вы можете, например, определить, что ваши классы получают все, что вам нужно, используя gson (лучше). Или вы можете анализировать непосредственно через структуру над циклами, чтобы получить некоторые данные, или что-то третье ... –

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