我有杰森喜欢
{"attributea":"value1","attributeb":"value1","data":{"dca":"asd"}}
在控制器中,请求属性全部映射,但数据属性未与对象值映射
控制器如下
insert(@RequestBody Pojo pojo){
}
Pojo.java class Pojo { String attributea; String attributeb; JSONObject data;}
所有值都映射到属性,但数据值不映射。请问我缺少什么吗?
更新:数据是通用的,它可以具有任何参数,因此我将其类型用作JSONObject
最佳答案
Pojo课。
import org.json.JSONObject;
public class Pojo implements Serializable{
private static final long serialVersionUID = 5065805421422772083L;
String attributea;
String attributeb;
JSONObject data;
public Pojo(String attributea, String attributeb, JSONObject data) {
super();
this.attributea = attributea;
this.attributeb = attributeb;
this.data = data;
}
public Pojo() {
super();
}
//getter setter
@Override
public String toString() {
return "Pojo [attributea=" + attributea + ", attributeb=" + attributeb + ", data=" + data.toString() + "]";
}
}
卷曲:
curl --header "Content-Type: application/json" --request POST --data @data.json http://localhost:<port>/<api>
data.json包含:
{"attributea":"value1", "attributeb":"value1", "data": "{\"dca\": \"asd\"}"}