2015-09-17 63 views
3

我試圖在我的桌面上使用javaintelliJ解析文件json。我做的谷歌搜索似乎也帶來了其他JSON/Java API,但似乎nashorn自帶intellij,所以我寧願嘗試使用它。java nashorn從文件中解析json

但是我無法弄清楚。我試圖修改一些代碼(JSONParser parser = new JSONParser();),但是有一個空的JSONParser聲明出錯。我該怎麼做?我想將每個json對象保存爲一個java對象(它是一個帶有2個字符串和一個數組的JSON obj,我想保留這個結構)。

任何幫助,將不勝感激。我環顧四周,但無法找到答案,似乎適用於這種情況。據推測,我仍然會使用FileReader來打開文件。我一直在使用BufferedReader來讀取每一行。我仍然使用那些與JSON文件?

感謝, 麗貝卡

+1

下面是使用犀牛解析JSON的工作代碼例如:http://stackoverflow.com/a/43667674/603516。對於ad-hock腳本可能有用,但不推薦用於生產。 – Vadzim

回答

1

Nashorn不是JSON解析器。這是一個Javascript引擎。如果你想用Java解析JSON字符串,有幾個好的庫。 GsonJackson是很受歡迎的例子。

要將JSON字符串解析爲Java對象(反序列化),首先需要創建適當的type(Java類)。當您反序列化您的JSON時,您通過此type作爲參數。

例如,GSON:

Gson gson = new Gson(); 
MyType myobject = gson.fromJson(jsonSource, MyType.class); 
+2

你能解釋一下Nashorn中的JSONParser類是什麼嗎? –