从主json中提取少量属性的json子集

时间:2016-06-23 10:00:09

标签: java json

是否有可用于提取java中json的特定属性(json子集)的API /工具,类似于apache-commons beanutils copy?

例如,我有以下JSON

{
    "fixed":[
        {
        "b":"some value",
        "c":"some value",
        "d":"some value",
        "e":"some value",
        "f":"some value"
        },
        {
        "b":"value",
        "c":"value",
        "d":"value",
        "e":"value",
        "f":"value"
        }
    ]
}

我想拥有以下json

{
    "fixed":[
        {
        "b":"some value",
        "e":"some value",
        "f":"some value"
        },
        {
        "b":"value",
        "e":"value",
        "f":"value"
        }
    ]
}

我提出了以下方法,但不确定它是否是正确的方法

public JSONObject parseJSON(JSONObject data,List<String> subset){
        JSONArray fixedArray = (JSONArray) data.get("fixed");
        JSONObject resObj = new JSONObject();
        JSONArray resArray = new JSONArray();
        for(int i=0;i<fixedArray.size();i++){
            JSONObject element = (JSONObject) fixedArray.get(i);
            JSONObject resElement = new JSONObject();
            for(String s:subset){
                resElement.put(s, element.get(s));
            }
            resArray.add(resElement);
        }
        return resObj.put("fixed", resArray);
}

我查看了this SO问题,但对此主题没什么帮助。

1 个答案:

答案 0 :(得分:0)

https://docs.oracle.com/javase/tutorial/jaxb/intro/arch.html如果需要,您也可以从JAXB创建自己的pojo类。