2012-08-13 56 views
0

您好我有一個JSON輸入文件如下,Java對象從JSON輸入文件

{'Latitude':'20', 
'coolness':2.0, 
'altitude':39000, 
'pilot':{'firstName':'Buzz', 
      'lastName':'Aldrin'}, 
'mission':'apollo 11'} 

如何創建從JSON輸入文件的Java對象。

感謝

+0

谷歌已爲此製作了一個庫:http://code.google.com/p/google-gson/ – Niklas 2012-08-13 09:03:45

+0

轉到http://www.json.org/並查看「Java」子部分。 – adarshr 2012-08-13 09:08:42

回答

1

可以使用非常簡單GSON庫,與Gson#fromJson()方法。

下面是一個例子:Converting JSON to Java

+0

如果輸入文件可能是任何JSON文件(無特殊格式),那麼如何解析它? – user1321824 2012-08-13 09:29:32

+0

然後你必須打開並閱讀文件 – 2012-08-13 09:46:53

+0

好吧我正在閱讀打開和閱讀文件,但如何動態生成數據類,如示例中所示(將JSON轉換爲Java) – user1321824 2012-08-13 10:16:57

1

有超過一個的API可以使用。最簡單的是JSONObject

只需做到以下幾點:

JSONObject o = new JSONObject(jsonString); 
int alt = o.getInt("altitude"); 
.... 

有每種類型getXXX方法。它基本上將對象存儲爲地圖。這是一個緩慢的API。

您可以使用Google的Gson,這是一個優雅和更好的庫 - 需要比JSONObject稍多的工作。如果您真的關心速度,請使用Jackson