gpt4 book ai didi

java - 为 JSON 创建 POJO,其中子节点是动态的

转载 作者:行者123 更新时间:2023-12-02 11:15:02 24 4
gpt4 key购买 nike

我有一个如下所示的 JSON 文件。我将收到此 JSON 作为 API 的响应:

{
"success": true,
"message": "SUCCESS",
"value": {
"APP": {
"option1": false,
"option2": false
},
"DESKTOP": {
"multiValued": true,
"lob": true
},
"TestSomeLob": {
"multiValued": true,
"lob": true
}
}
}

值节点内的节点可以根据应用程序的状态增加或减少。我正在尝试为上述响应创建 pojo ,以便我可以获得值列表。有人可以帮我创建同样的 pojo 吗?

最佳答案

使用组合

  1. jsonanygetter ( http://tutorials.jenkov.com/java-json/jackson-annotations.html#jsonanygetter )
  2. jsonanysetter (http://tutorials.jenkov.com/java-json/jackson-annotations.html#jsonanysetter)
  3. jsoncreator ( http://tutorials.jenkov.com/java-json/jackson-annotations.html#jsoncreator )

    public class POJONAME_TO_BE_REPLACED{

    // Two mandatory properties
    protected final boolean success;
    protected final String message;

    // Other flexible properties
    protected Map<String,Object> otherProps = new HashMap<String,Object>();

    @JsonCreator
    public POJONAME_TO_BE_REPLACED(@JsonProperty("success") boolean success, @JsonProperty("message") String message)
    {
    this.success = success;
    this.message = message;
    }

    public boolean getSuccess() { return success; }
    public String getMessage() { return message; }

    public Object get(String propName) {
    return otherProps.get(propName);
    }

    @JsonAnyGetter
    public Map<String,Object> any() {
    return otherProps;
    }

    @JsonAnySetter
    public void set(String propName, Object value) {
    otherProps.put(propName, value);
    }

    }

关于java - 为 JSON 创建 POJO,其中子节点是动态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50346968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com