0

我需要将嵌套的 JSON 转换为作为接口的 Java 对象。

请参考以下示例,该 JSON 字符串需要转换为 Root 类型的 Java 对象。

JSON:{"ROOT":{"NAME":"EVEN"}}

爪哇:

Interface Root {
    String getName();
}

class RootImpl implements Root{
    private String name;
    public String getName() {
        return name;
    }
}

像下面的用例一样,我需要将大深度的嵌套 json 转换为 Java 对象。

4

3 回答 3

0

您可以使用org.json。Java 解析器。

public class RootImpl implements Root{
    private JSONObject root;

    public RootImpl(String json) {
        this.root = new JSONObject(json).getJSONObject("ROOT");
    }

    public String getName(){
        return root.getString("NAME");
    }
}

Root root = new RootImpl("{\"ROOT\":{\"NAME\":\"EVEN\"}}");
System.out.println(root.getName()); // prints: EVEN

参考
JSON Java API 文档

于 2013-06-24T11:37:40.953 回答
0

你可以这样做: -

JSONSerializer.toJava(jsonString);
于 2013-06-24T11:32:30.457 回答
0

Google GSON 可以帮助您!

“Gson 是一个 Java 库,可用于将 Java 对象转换为其 JSON 表示形式。它还可用于将 JSON 字符串转换为等效的 Java 对象。Gson 可以处理任意 Java 对象,包括您预先存在的对象没有源代码。” --Google-Gson '自述文件'

下载地址:

https://code.google.com/p/google-gson/downloads/list

代码示例:

 //UserInfo object to json string
 public String toJson(UserInfo userInfo){
    //com.google.gson.Gson
    return new Gson().toJson(userInfo);
 }

 //json string to UserInfo object
 public UserInfo fromJson(String jsonStr){
     return new Gson().fromJson(jsonStr, UserInfo.class);
 }
于 2013-06-24T11:46:45.333 回答