我有一个类似
的JSON{
"status":{
"server":{"bool":true},
"request":{"bool":true},
"third_party":{"bool":true},
"operation":{"bool":false,"int":-12,"str":"Not authenticated!"}
},
"response":{
"count":3,
"emails":["email1@mail.com","email2@mail.com","email3@mail.com"]
}
}
注意:上面的JSON代码只是一个例子,看起来可能不合逻辑。
问题是我认为使用JSONObject解析它并没有效率,代码变得一团糟。
因此,我想知道在使用json_decode()时是否有像PHP一样解析它的方法。
这将使我以这种方式达到元素
JSONParser jp = new JSONParser(json);
boolean server_status = jp.status.server.bool;
我希望你能理解我的意思并帮助我。
谢谢。
答案 0 :(得分:2)
在java中解析/编写JSON有很多选择。以下是一些提示:
http://jackson.codehaus.org/ 这是一个非常完整的解决方案,它还具有类似StAX的API,可实现超高处理速度。
https://code.google.com/p/json-simple/ 如果您需要一些简单的东西,只需将所有内容解码为地图,那么您就在这里。
答案 1 :(得分:0)
如果你想导航那个JSON,那么最好的库就是imho,Jackson。结合a library of mine支持JSON Pointer,您可以执行以下操作:
final JsonNode node = JsonLoader.fromFile(...); // or .fromReader(), .fromString() etc
final JsonNode emails = JsonPointer.of("response", "emails")
.get(node);
// etc
JsonNode
对于导航JSON非常强大。