如果我可以将 json 映射到 Java 对象,那就太好了,但结构很奇怪,我尝试解析的所有 json 都不同。 例如类别和主题可以不同。我如何将其映射到 Java 对象或任何其他建议?
"name":"url",
"categories":
{
"249":{"catID":"249","score":33.43533451973102},
"34":{"catID":"34","score":3.0000000447034836},
.,.,so on
},
"topics":{
"DSLR":{"weight":1.6690950917579026,"noun":1},
"illuminated":{"weight":7.6470197510265105,"noun":0},
.
.so on
}}
您至少可以指望每种类型的响应/对象映射的 JSON 表示是一致的吗?如果是这样,您可以使用 Google GSON 库,并创建自定义反序列化程序来处理非标准 JSON 表示形式。 这是该项目的链接:
http://code.google.com/p/google-gson/
以及有关如何创建自定义序列化程序/反序列化程序的用户指南:
https://sites.google.com/site/gson/gson-user-guide#TOC-Custom-Serialization-and-Deserialization
有一个库:org.json 。要从字符串中解析 JSONObject,您可以说:
JSONObject jo = new JSONObject(string);
但是,如果字符串表示数组而不是映射,请使用:
JSONArray ja = new JSONArray(string);