Java JSON到对象映射

Java JSON到对象映射,java,json,jackson,Java,Json,Jackson,要将此JSON转换为要与jackson映射的POJO以从字符串jsonSource反序列化给定JSON,请使用 "statValues": { "c__TL_gattooi": { "value": 90.0 },

要将此JSON转换为要与jackson映射的POJO

以从字符串
jsonSource
反序列化给定JSON,请使用

"statValues": {
                                "c__TL_gattooi": {
                                                "value": 90.0
                                },
                                "c_cwc_gattooi": {
                                                "value": 3462.0
                                },
                                "c_gaw__oxcgattooi": {
                                                "value": 11.0
                                },
                                "c_odesb__ox_gattooi": {
                                                "value": 6.0
                                },
                                "c_odesb_cwdc_gattooi": {
                                                "value": 205472.0
                                },
                                "c_ach38_sax_gattooi": {
                                                "value": 1.0
                                },
}
我为你制作了POJO

ObjectMapper mapper = new ObjectMapper();
Root root = mapper.readValue(jsonSource, Root.class);
import java.util.HashMap;
类根{
私有HashMap statValues=新HashMap();
公共HashMap getStatValues(){
返回statvalue;
}
public void setStatValues(HashMap statValues){
this.statValues=statValues;
}
}
阶级价值{
双重价值;
公共双getValue(){
返回值;
}
公共无效设置值(双值){
这个值=值;
}
}
如果您可以提供更好的名称,可以使用
@JsonProperty


要访问value,请使用类似于
root.get(“c_utl_gattooi”).getValue()
,以获取键列表-
root.keys()

,那么您想出了什么样的POJO不起作用呢?“c_utl_gattooi:{“value”:90.0},
c\uu TL\u gattooi
如果除了大括号中的值之外没有其他东西,那么这应该是常量字符串,这就是为什么要使事情复杂化的原因。如果可以,可以将其简化为
Map
作为POJO。如果没有,那么您需要创建一个类型,该类型的值为
Double
属性。并且您的类
statValues
将具有您提到的属性将具有您编写的类型为
value
。问题陈述是“c_uutl_gattooi”这种值是ramdom,它们至少有700个值不能创建类kike,这也必须与jackson映射才能使用jackson,伙计,你摇了它,
import java.util.HashMap;

class Root {
    private HashMap<String, Value> statValues = new HashMap<>();

    public HashMap<String, Value> getStatValues() {
        return statValues;
    }

    public void setStatValues(HashMap<String, Value> statValues) {
        this.statValues = statValues;
    }
}

class Value {
    double value;

    public double getValue() {
        return value;
    }

    public void setValue(double value) {
        this.value = value;
    }
}