0
我有一個文件名test.json添加值的JSON元素
{ "aaData":
[
{
"engine": "Trident",
"browser": "Internet Explorer 4.0",
"platform": "Win 95+",
"version": "4",
"grade": "X"
},
{
"engine": "Trident",
"browser": "Internet Explorer 5.0",
"platform": "Win 95+",
"version": "5",
"grade": "C"
}
]
}
我看了這個文件,我想獲得這個
{ "sEcho":"1",
"iTotalRecords":97,
"iTotalDisplayRecords":9,
"aaData":
[
{
"engine": "Trident",
"browser": "Internet Explorer 4.0",
"platform": "Win 95+",
"version": "4",
"grade": "X"
},
{
"engine": "Trident",
"browser": "Internet Explorer 5.0",
"platform": "Win 95+",
"version": "5",
"grade": "C"
}
]
}
我的代碼來讀取和構建
JsonParser parser = new JsonParser();
FileReader fr = new FileReader("web.json");
JsonElement element = parser.parse(fr);
StringBuilder sb = new StringBuilder();
sb.append("\"sEcho\":\"1\",");
sb.append("\"iTotalRecords\":\"97\",");
sb.append("\"iTotalDisplayRecords\":\"9\",");
Gson gson = new Gson();
JsonElement data = gson.fromJson(sb.toString(), JsonElement.class);
data.getAsJsonArray().add(element);
從JSON行我得到
com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受格式錯誤的JSON
我的字符串不正確?
我試圖
Gson gson = new Gson();
JsonReader reader = new JsonReader(new StringReader(sb.toString()));
reader.setLenient(true);
JsonElement element = gson.fromJson(reader, JsonElement.class);
element.getAsJsonArray().add(data);
我得到這不是一個JSON陣列。