Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用Jackson解析Json文件_Java_Json_Jackson_Jackson2 - Fatal编程技术网

Java 用Jackson解析Json文件

Java 用Jackson解析Json文件,java,json,jackson,jackson2,Java,Json,Jackson,Jackson2,我调用一个返回Json对象的WS,如下所示: { "id": "salton", "name": "salton", } 我可以使用 ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(jsonStr, Show.class); 然后我有另一个WS,它返回一个对象列表,如下所示 { "id": "saltonId", "name": "salto

我调用一个返回Json对象的WS,如下所示:

   {
        "id": "salton", 
        "name": "salton", 
    }
我可以使用

ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(jsonStr, Show.class);
然后我有另一个WS,它返回一个对象列表,如下所示

{
    "id": "saltonId", 
    "name": "salton", 
},
{
    "id": "elCordeLaCiutat", 
    "name": "elCordeLaCiutat", 
}
[
    {
        "id": "saltonId", 
        "name": "salton", 
    },
    {
        "id": "elCordeLaCiutat", 
        "name": "elCordeLaCiutat", 
    }
]
我想用

ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(jsonStr, List<Show.class>.class);
Type listType=new-TypeToken(){}.getType();
返回mapper.readValue(jsonStr,listType.class);

对象列表应包装在
[]
中,如下所示

{
    "id": "saltonId", 
    "name": "salton", 
},
{
    "id": "elCordeLaCiutat", 
    "name": "elCordeLaCiutat", 
}
[
    {
        "id": "saltonId", 
        "name": "salton", 
    },
    {
        "id": "elCordeLaCiutat", 
        "name": "elCordeLaCiutat", 
    }
]
你可以这样做:

ObjectMapper mapper = new ObjectMapper();
List<Show> shows = Arrays.asList(mapper.readValue(json, Show[].class));
ObjectMapper mapper=new ObjectMapper();
List shows=Arrays.asList(mapper.readValue(json,Show[].class));

是否包含java.util.List?是的,它包含在importwhy is.class中,位于泛型中?使用
mapper.readValue(jsonStr,mapper.getTypeFactory().ConstructionType(List.class,Show.class))对象列表应该用括号括起来。