2015-06-15 68 views
0

Java中有一種方法可以從json中讀取數據並直接將其值存入Collection中。在我的情況下,我有三種不同的類型。我一定能成功:如何解析Java中的JSON並將值存入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

如何烏爾Type類? – nafas

+0

JSON有很多Java API。其中之一就在這裏: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對象 –