gpt4 book ai didi

java - 嵌套对象的 Spring JSON 数据绑定(bind)不起作用

转载 作者:行者123 更新时间:2023-11-29 09:11:37 25 4
gpt4 key购买 nike

我有以下 Person 类包含另一个 Car

public class Person {
private String name
private Car car;
... getter and setters
}

public class Car {
private String manufacturer;
... getter and setters
}

在 Javascript 中,我执行以下操作:

person = new Object();
person.name = "Bob";

person.car = new Object();

car = person.car;

car.manufacturer = "Mercedes";

$.ajax({
url: 'someurl.com',
type: 'POST',
data: person,
dataType: 'json',
...
complete: function() {
...
}
});

使用自动绑定(bind)功能时出现以下错误:

功能:

public @ResponseBody Car validateCar( Car car, HttpServletRequest servletRequest){
...
}

错误:

org.springframework.beans.InvalidPropertyException: Invalid property 'car[manufacturer]' of bean class [com.example.Person]: Property referenced in indexed property path 'car[manufacturer]' is neither an array nor a List nor a Map; returned value was []

我必须做什么才能使映射工作?

顺便说一句:我的 POST 数据如下所示:

name: Bob
car[manufacturer]: Mercedes

字符串化为 JSON 它看起来如下(我测试了它但我没有将其字符串化)

{"name":"Bob",
"car": {
"manufacturer":"Mercedes"
}
}

最佳答案

您似乎传入了 Car 哈希并试图将其自动绑定(bind)到 Person 对象。为此,您的哈希需要看起来像 person[car[manufacture]]]。尝试在 javascript 中传递您的 person 对象,然后将 car 对象从自动绑定(bind)的 person 对象中拉出。

关于java - 嵌套对象的 Spring JSON 数据绑定(bind)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12040400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com