2016-12-30 50 views
2

我想使用org.json.simple庫解析json文件「c:/employeesRecord.json」。以下是樣本json數據,每條記錄由文件中的下一行指定。如何使用org.json.simple解析沒有根元素的JSON文件?

{"Employees ":["A ;B ;C ;D ;E ;F"],"JobTitle":"Software Engineer"} 
{"Employees ":["A ;B ;C ;D ;E ;F"],"JobTitle":"Software Engineer"} 
{"Employees ":["A ;B ;C ;D ;E ;F"],"JobTitle":"Software Engineer"} 
... 

如何使用org.json.simple解析這種沒有根元素的json文件。

+0

以換行符('.split(「\ n」)')分割字符串/緩衝區並逐個解析它們? – SOFe

+0

你想給我一個例子嗎? –

+0

對於使用Gson的Android,它在[鏈接]中解決(http://stackoverflow.com/questions/22334650/convert-json-without-root-element-to-object-using-gson-ksoap2-json-net) –

回答

2

由於完整文件不是有效的JSON對象,您將需要逐行解析它,即。閱讀第一行,使用解析器解析它,保存結果,然後重複下一行。

3

可以「調整」從文件中輸入,並將其轉變成一個有效的JSON格式

String json = <your json from file> 
json = "[" + json + "]"; 
json = json.replace("\n",","); 
// parse your json, now it should be a valid. 
+0

是的,它可以轉換爲有效的JSON格式。 –

1

分析它一行行由\n劈裂後。

String[] lines = json.split("\n"); 
List<JsonObject> objects = new ArrayList<>(lines.length); // depending on the JSON library you are using 

for(String line : lines) { 
    objects.add(parseJson(line)); 
}