如何在JSON中获取值标志

时间:2014-05-02 14:27:21

标签: java json

我是JSON的新手。我有以下JSON对象

{
"data": [
    {
        "name": {
            "id": 49,
            "name": "basha",
            "description": "",
            "owner": "cpee",
            "projectUsers": [],
            "flag": null
        },
        "flag": "add"
    }
]
}

我想获得旗帜值("add"),但我得到null。 在java中,我试图使用此代码获取值:

org.codehaus.jackson.JsonNode
jsonNode.get("data").get("flag");

根据要求,这里有更多我的Java代码

import org.codehaus.jackson.JsonNode;
import org.codehaus.jackson.map.ObjectMapper;

ObjectMapper mapper = new ObjectMapper();
projectDTO = mapper.readValue(json.get("data").get(0), ProjectDetailsDTO.class);

readValue将JSON对象解析为Java特定对象

2 个答案:

答案 0 :(得分:1)

json.get("data").get(0).get("flag");

data是一个只有1个项目的数组。并且在该项目中,您可以通过上面的表达式获得标记

答案 1 :(得分:1)

数据是一个数组......

   org.codehaus.jackson.JsonNode
    jsonNode.get("data")[0] .get("flag");


 ObjectMapper mapper = new ObjectMapper();
   projectDTO =mapper.readValue(json.get("data").get(0), ProjectDetailsDTO.class);
    Flag=mapper.readValue(projectDTO.get("flag", ProjectDetailsDTO.class )) ;