【问题标题】:POST Nested Json. But getting empty发布嵌套的 Json。但是越来越空
【发布时间】:2014-12-12 02:07:47
【问题描述】:

我正在尝试发送一个 POST 请求,格式如下:

{
"startTime":"2014-12-02T00:00:00.000Z",
"endTime":"2014-12-03T00:00:00.000Z",
"numRows":200,
"object":{
         "key":"I am having trouble parsing you",
         "key2":"value2"
         }

}

在后端(使用 dropwizard),我的资源类定义为:

    class ResourceExample{

    public Response process(SearchQuery q){

    //doing something
//here q.object = {} instead of {"key": "I am having trouble parsing you", "key2" : "value2"} 
    }

    }

    class SearchQuery{


        @NotNull
        JSONObject object;
        @NotNull
        String startTime;
        @NotNull
        String endTime;
        @NotNull
        int numRows;

    //getters and setters present.

    }

现在,当我发布请求时,“object”的值为 {}。 我希望它是 {"key": "I am hard to parsing you", "key2": "value2" }

请帮帮我。我确信我缺少一些东西。一些在我脑海中没有点击的东西。我哪里错了?

【问题讨论】:

    标签: rest dropwizard postman


    【解决方案1】:

    我会假设您使用的是 dropwizard。

    首先,在我的环境中,该代码出现以下错误

    {
      message: "Unrecognized field "key" (class org.json.JSONObject), not marked as ignorable"
    }
    

    以下代码:

    ResourceExample.java

    @Path("/sample")
    @Produces(MediaType.APPLICATION_JSON)
    public class ResourceExample {
    
        @POST
        public void process(SearchQuery q) {
        ...
    

    SearchQuery.java

    public class SearchQuery{
        private JSONObject object;
        private String startTime;
        private String endTime;
        private int numRows;
        //getters and setters present.
        ...
    

    为了工作,我改用下一个代码:

    SearchQuery.java

     -  private JSONObject object;
     +  private Map<String, Object> object;
    

    这样,将这些键和值中的每一个放入映射中。

    如果你想要{"key": "I am having trouble parsing you", "key2": "value2" },你可以做下一个代码。

    new JSONObject(q.getObject()).toString()
    

    【讨论】:

    • 谢谢。当没有人回答我的问题时,我最终弄清楚了自己。我做了你上面做的同样的事情。我会接受你的作为正确的解决方案。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2021-11-08
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 2014-05-02
    相关资源
    最近更新 更多