2015-06-15 2 views
0

Есть ли способ на Java, в котором я могу читать из json и напрямую ставить его значения в коллекции. В моем случае у меня есть три разных типа. Могу ли я сделать это:Как разобрать JSON в Java и поместить значения в Collection

Collection<Type> types; 

JSON:

{ 
"type1":[ 
     { 
     "version": "1.11", 
     "releaseDate": "2015-03-26", 
     "downloadUrl": "****" 
     }, 
     { 
     "version": "1.12", 
     "releaseDate": "2015-04-08", 
     "downloadUrl": "****" 
     }], 
"type2":[ 
     { 
     "version": "2.20", 
     "releaseDate": "2015-03-26", 
     "downloadUrl": "****" 
     }, 
     { 
     "version": "2.21", 
     "releaseDate": "2015-04-08", 
     "downloadUrl": "****" 
     }], 
"type3":[ 
     { 
     "version": "2.56", 
     "releaseDate": "2015-03-26", 
     "downloadUrl": "****" 
     }, 
     { 
     "version": "2.57", 
     "releaseDate": "2015-04-08", 
     "downloadUrl": "****" 
     }] 
} 
+0

как ур Тип класса? – nafas

+0

Существует много Java API для JSON. Один из них находится здесь: http://www.json.org/java/. –

+0

Возможно, это должен быть класс, представляющий 3 типа, которые у меня есть, класс, который имеет версию String, realeaseDate и downloadUrl, но я не знаю, как это сделать – alle3x

ответ

0

Вы можете легко сделать это с помощью Gson. Я даю вам основная идея изменить ваши согласно вашим требованиям, как тип данных, конвенций и т.д ...

public class YourType{ 
private String version; 
private String releaseDate; 
private String downloadUrl; 
// getter-setter 
} 

И

/* Code to convert JSON to Collection */ 
import java.lang.reflect.Type; 
import com.google.gson.reflect.TypeToken; 

Type objType = new TypeToken<List<YourType>>(){}.getType(); 
List<YourType> list = objGson.fromJson(yourJSONObject.getJSONArray("type1").toString(), objType); 
+0

как должна выглядеть переменная jsonObjectProduct? – alle3x

+0

вы можете попробовать следующее: http://pojo.sodhanalibrary.com/. Я скопировал ваш код на эту страницу. Он сгенерировал код. Вы можете взглянуть на него. –

+0

@ alle3x Его ошибка. Это будет ваш объект JSON –

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