使用一個簡單的JSON文件,例如:使用GSON與路徑
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
我希望能夠使用路徑來獲取JsonArray
命名爲menuitem
:
String path = "menu.popup.menuitem"
我試圖做到這一點使用:
public static JsonElement fromString(String json, String path) throws JsonSyntaxException {
JsonObject obj = GsonBuilder.create().fromJson(json, JsonObject.class);
String[] seg = path.split(".");
for (String element : seg) {
if (obj != null) {
obj = obj.get(element).getAsJsonObject();
} else {
return null;
}
}
return obj
}
有:
JsonElement jsonElement = fromString(json, path);
但是,當我嘗試isJsonArray()
返回值是false
。當使用Gson.toJson(jsonElement)
進行額外的完整性檢查時,輸出是最初輸入的完整json字符串(上圖)。 怎麼回事?
可能重複 「」 (點)](http://stackoverflow.com/questions/14833008/java-string-split-with-dot) – Devrim 2014-09-28 18:03:08
使用,例如';'而不是'.'。 – 2014-09-28 18:12:20