【问题标题】:Object Mapper Values Returning Null返回 Null 的对象映射器值
【发布时间】:2016-10-20 21:48:23
【问题描述】:

我正在使用Ajax Post 请求,使用 jQuery 将数据发送到 Spring MVC。其中两个值是String 数据类型,而另外两个是int。我收到以下错误:Can not instantiate variable of type.....From Integral number...

我正在接收从客户端发送到服务器端 Java 代码的数据,但是对象映射器的值是空的(即personid = om.readValue(id, MyClass.class);)并且这些相同的行是错误指向的位置。将Map<String,String> 更改为Map<String, Object> 也不起作用。

下面是我的代码。任何帮助将不胜感激。

JSON:

{
  id:"35",
  firstname : "John",
  lastname : "Doe",
  age: "40"

}

控制器:

@RequestMapping(value="/mywebservice", method = RequestMethod.POST)
public Object getPerson(@RequestBody Map<String, String> mydata){

 MyClass personid = null;
 MyClass fname = null;
 MyClass lname = null;
 MyClass personage = null;

 String id = "";
 String firstname = "";
 String lastname = "";
 String age = "";
 ObjectMapper om = new ObjectMapper();

 if(mydata.containsKey("id"){
  id = mydata.get("id");
}
if(mydata.containsKey("firstname"){
  firstname = mydata.get("firstname");
}

if(mydata.containsKey("lastname"){
  lastname = mydata.get("lastname");
}

if(mydata.containsKey("age"){
  age = mydata.get("age");
}

try{
 personid = om.readValue(id, MyClass.class);
 fname = om.readValue(firstname, MyClass.class);
 lname = om.readValue(lastname, MyClass.class);
 personage = om.readValue(age, MyClass.class);
}catch(Exception e){ ...}

  return helperClass(personid, fname, lname, personage);

}

助手类:

public Object getFirstName(MyClass personid, MyClass fname, MyClass lname, MyClass personage){

  return addName(personid, fname, lname, personage);

}

型号:

 @JsonProperty("id")
    private int childid;

@JsonProperty("firstname")
private String firstname;

@JsonProperty("lastname")
private String lastname;

@JsonProperty("age")
private int childage;

【问题讨论】:

  • 在方法签名中不使用 Dto 的具体原因?
  • 你的pojo根据json应该有childid和string类型的childage。

标签: java spring objectmapper


【解决方案1】:

换个json试试?

{ 
  id:35,
  firstname : "John",
  lastname : "Doe", 
  age: 40

}

【讨论】:

  • 感谢您的回答。我接受这个答案,因为它是帮助解决问题的一部分,我改变的另一件事是 @RequestBody Map&lt;String, String&gt; mydata@RequestBody MyClass mydata
猜你喜欢
  • 1970-01-01
  • 2021-02-17
  • 2013-08-10
  • 2020-07-31
  • 1970-01-01
  • 1970-01-01
  • 2018-05-30
  • 2022-12-20
  • 2020-12-20
相关资源
最近更新 更多