gpt4 book ai didi

java - 使用 jackson databind 将 JSON 反序列化为 Map

转载 作者:行者123 更新时间:2023-12-02 04:55:32 24 4
gpt4 key购买 nike

我在我的 Web 应用程序中使用 spring 4.0.5.RELEASEjackson-databind 2.2.3。发送此 JSON 时:

{"keyField1":"57579","keyField2":"sdf","someField":"sdasd","parameters":[{"parameterName":"dfgdfg","parameterValue":"sdf"},{"parameterName":"erwer","parameterValue":"sdfsdf"}]}

对于 Controller 来说,我在浏览器上得到的只是一个HTTP 400 Bad Request,我在本地 websphere 日志中没有看到任何错误,但经过一些测试后,我发现问题出在将 JSON 数组反序列化到 map 上。我从来没有进入 Controller 的保存方法。尝试了一些注释,例如 @JsonDeserialize(as=HashMap.class) 但没有成功。我该如何解决这个问题?

我的POJO:

class MyClassId implements Serializable {
private static final long serialVersionUID = 5022985493208399875L;
String keyField1;
String keyField2;
}

@Entity
@IdClass(MyClassId.class)
public class MyClass {
@Id
String keyField1;

@Id
String keyField2;

String someField;

@ElementCollection
@MapKeyColumn(name="parameterName")
@Column(name="parameterValue", length=400)
Map<String, String> parameters;
... Getters and Setters ...

我的 Controller :

@RestController
@RequestMapping("/myclass/**")
public class MyClassController {

@Transactional
@RequestMapping(value = "/save", method = RequestMethod.POST, consumes={"application/json"})
public @ResponseBody ServiceResponce<MyClass> save(@RequestBody MyClass processToSave) {
... Code ...
}
}

最佳答案

我看到您的问题有两种解决方案:

希望对你有帮助蒂埃里

关于java - 使用 jackson databind 将 JSON 反序列化为 Map<String,String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28807803/

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