2

我有一个大文件,里面有很多 json,例如:

{
   "id":1,
   "text":"foo the bar",
   ...
},
{
   "id":2,
   "text":"foo the bar",
   ...
},
{
   "id":3,
   "text":"foo the bar",
   ...
},
{
   "id":4,
   "text":"foo the bar",
   ...
},...

我想只取 3 个第一个对象,我尝试了这段代码,但我得到一个异常“不是有效的 json 格式”。

JsonReader reader = new JsonReader( new FileReader(path) );
reader.beginArray();
int i = 0;
while (reader.hasNext() && i < 3) {
    JsonParser  _parser = new JsonParser();
    JsonElement jsonElement =  _parser.parse(reader);
    JsonObject jsonObject = jsonElement.getAsJsonObject();
    //Do something
}

当然,我试图用 beginObject() 改变我的 reader.beginArray()。我也不想打开所有文件..有什么帮助吗?

谢谢。

4

1 回答 1

0

就像消息中所说的那样,它不是有效的 json 格式。它应该看起来像这样

[{
   "id":1,
   "text":"foo the bar",
   ...
},
{
   "id":2,
   "text":"foo the bar",
   ...
},
{
   "id":3,
   "text":"foo the bar",
   ...
},
{
   "id":4,
   "text":"foo the bar",
   ...
},...]

json 对象必须在数组中。

于 2013-04-07T07:04:15.997 回答