Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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 原因:org.codehaus.jackson.map.JsonMappingException:无法反序列化com.model.user的实例,超出起始\u数组标记_Java_Json_Model_Rest Client - Fatal编程技术网

Java 原因:org.codehaus.jackson.map.JsonMappingException:无法反序列化com.model.user的实例,超出起始\u数组标记

Java 原因:org.codehaus.jackson.map.JsonMappingException:无法反序列化com.model.user的实例,超出起始\u数组标记,java,json,model,rest-client,Java,Json,Model,Rest Client,我将json字符串从restclient传递给模型对象用户的resteasy webservice 我已经设置了Content Type=application/json 我在正文中的json字符串如下所示 { "id": "100", "email": "email", "add": [ { "lastName": "lastName", "firstName": "firstName" }

我将json字符串从restclient传递给模型对象用户的resteasy webservice

我已经设置了Content Type=application/json

我在正文中的json字符串如下所示

{
    "id": "100",
    "email": "email",
    "add": [
        {
            "lastName": "lastName",
            "firstName": "firstName"
        },
        {
            "firstName": "firstName",
            "lastName": "lastName"
        }
    ]
}
如果我删除addarray对象,如下所示,那么我将得到预期的响应

{
    "id": "100",
    "email": "email",
}
当我尝试发送add array时,服务器抛出一个异常,表示

Caused by: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of com.model.add out of START_ARRAY token
我也试过这种方法,但不起作用

{
    "id": "100",
    "email": "email",
     "lastName": "Something Four",
     "firstName": "Something Five"
}
然后它给出下面的错误

Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "lastName" (Class com.model.user), not marked as ignorable
下面是我的模型对象

public class user implements Serializable {
    @Id
    @Column(name="Id", unique=true, nullable=false)
    private int id;

    @Column(name="email", nullable=true, length=60)
    private String email;

    @ManyToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinColumn(name="Id", nullable=false)
    private add add;
}



public class add implements Serializable {

    @Id
    @Column(name="Id", unique=true, nullable=false)
    private String id;

    @Column(name="LastName", nullable=true, length=128)
    private String lastName;

    @Column(name="FirstName", nullable=true, length=128)
    private String firstName;

}
我的服务班

@POST
    @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
     public Response addAccount(@FormParam("id") String id,
             @FormParam("lastName") String lastName,
             @FormParam("firstName") String firstName,
             @FormParam("email") String email{



            user.setId(id); 
            add.setLastName(lastName);
            add.setFirstName(firstName);
            user.setEmailAddress(email);
}

有人能帮我把一个模型对象作为json字符串中的数组传递到另一个模型对象中吗?

我得到了相同的错误,我找到了解决方案;我的模型课上缺少了getter和setter。
这可能会解决这个问题。

我得到了相同的错误,我找到的解决方案;我的模型课上缺少了getter和setter。
这可能会解决这个问题。

请向我们展示您发送的JSON。Jackson在这里告诉你这不是一个JSON数组。这是我正在使用的JSON,{“id”:“100”,“email”:“email”,“add”:[{“lastName”:“lastName”,“firstName”:“firstName”},{“firstName”:“firstName”,“lastName”:“lastName”}我已经使用jsonlint对其进行了验证,并将其显示为有效的json。\n这不是问题所在。我问你删除的add数组发送了什么。你如何解释你的第一条消息?“无法反序列化com.model.add out of START_ARRAY token的实例”再次阅读您的第二条消息,它还说:“无法识别的字段“lastName”(Class com.model.user),未标记为可忽略”请向我们显示您发送的JSON。Jackson在这里告诉你这不是一个JSON数组。这是我正在使用的JSON,{“id”:“100”,“email”:“email”,“add”:[{“lastName”:“lastName”,“firstName”:“firstName”},{“firstName”:“firstName”,“lastName”:“lastName”}我已经使用jsonlint对其进行了验证,并将其显示为有效的json。\n这不是问题所在。我问你删除的add数组发送了什么。你如何解释你的第一条消息?“无法反序列化com.model.add out of START_ARRAY token的实例”再次读取第二条消息,它还说:“无法识别的字段“lastName”(Class com.model.user),未标记为可忽略”这不是答案。所以,在评论部分写下这个。请参阅此链接-这不是答案。所以,在评论部分写下这个。请参阅此链接-