Java对象的深度JSON结构,是否有比我更好的方法?看上去很可怕

所以我有这个JSON结构,可以作为HTTP响应获取。结构如下:

{
    "field1": "value1","field2": {
        "field2-2": [
            {
                "field2-2-1": "some value","field2-2-2": {
                    "key" : "some value"
                }
            }
        ]
    }
}

我当然简化了,但是您明白了。现在,我使用Gson将其转换为HashMap:

HashMap<String,Object> resultMap = new Gson().fromJson(httpResult,type);

现在,要进入Java中的“ field2-2-2”,我需要这样做:

LinkedTreeMap someMap = (LinkedTreeMap) resultMap.get("field2");
ArrayList<LinkedTreeMap> someList = (ArrayList) someMap.get("field2-2");
LinkedTreeMap anotherMap = someList.get(0);
anotherMap.get("key");

我再次简化了它,但是有没有更好的方法来访问“深度”字段?还是出于可读性考虑,我可以以某种方式链接方法吗?我的意思是,如果这全部是ArrayLists,我可以这样做:

ArrayList<Arraylist<String>> sampleList = new ArrayList<>();
sampleList.get(0).get(0);
st205702 回答:Java对象的深度JSON结构,是否有比我更好的方法?看上去很可怕

您可以直接将其映射到POJO类。喜欢:

@JsonInclude(Include.NON_NULL)
public class ApiResponse {

    String field01;
    Field2Class field02;

}

Field2Class.class

public class Field2Class {

   ArrayList<Field02_2> field02_2;

}

Field02_2.class

public class Field02_2 {

   String field02_2_1,field02_2_2;

}

每个类都有getter,setter和默认构造函数。

本文链接:https://www.f2er.com/3023240.html

大家都在问