我正在使用maven依赖项将JsonObject
解析为gson library
但是我没有包含键和值的地图。
我尝试了keyset方法,但找不到与值的对应关系(空指针异常错误),JSONArray字段代表了我想要获取的数组,但currentJsonObject.get("fields")
返回我无法解析以获取其他键值的object
。
这是对象的结果,我从get("fields")
总而言之,我想解析此数组中的JSONArray fields
和retrieve
值键
JsonReader jsonReader = new JsonReader(new InputStreamReader(new FileInputStream("filename"), StandardCharsets.UTF_8));
jsonReader.beginArray();
Gson gson = new GsonBuilder().create();
Collection<String> list ;
Collection<String> keys ;
BasicDBObject map = new BasicDBObject();
while (jsonReader.hasNext()) {
JSONObject currentJsonObject = gson.fromJson(jsonReader,
JSONObject.class);
System.out.println(currentJsonObject.get("fields"));
}
jsonReader.close();
Json :
答案 0 :(得分:0)
以下代码可能会帮助您:
public String parse(String jsonLine) {
JsonElement jelement = new JsonParser().parse(jsonLine);
JsonObject jobject = jelement.getAsJsonObject();
jobject = jobject.getAsJsonObject("data");
JsonArray jarray = jobject.getAsJsonArray("translations");
jobject = jarray.get(0).getAsJsonObject();
String result = jobject.get("translatedText").getAsString();
return result;
}