我有杰森喜欢

{"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\"}"}

09-11 20:05
查看更多