【问题标题】:Codenameone how to add multiple JSON subentries in a POST queryCodenameone 如何在 POST 查询中添加多个 JSON 子条目
【发布时间】:2018-01-23 14:46:32
【问题描述】:

我有一个 REST 网络服务,它允许我通过 POST 请求以 JSON 格式上传用户详细信息。看起来我可以使用

post.addArgument("Name",entry.get("Name").toString());
post.addArgument("JobRole",entry.get("JobRole").toString());

“entry”是一个ArrayList

正如您在下面的 JSON 中看到的,我还可以选择为每个用户发送多个条目(在本例中为地址详细信息),如以下 JSON 示例所示:

{

    "Name":"Fred Flintstone",

    "JobRole":"Quarry worker",

    "Address":[

    {

       "Address1" :"Boulder House",

       "Address2" :"Rock Way",

       "Address3" :"Rock City"

    }

   ]
}

我尝试过使用

post.addArgumentArray("Address",entry.get("Address1").toString,entry.get("Address2")) 

合并地址下的用户条目,但我得到“400:错误请求”返回。那么如何在我的请求中添加多个这样的条目呢?

问候

【问题讨论】:

    标签: json post codenameone


    【解决方案1】:

    这些是 POST 样式的参数,它们是作为常规 HTTP 参数添加的,而不是 JSON(就像在 HTML 中提交表单一样)。

    你正在寻找的是这样的:

    ConnectionRequest cr = new ConnectionRequest(url, true) {
       protected void buildRequestBody(OutputStream os) throws IOException {
           // snipped this but you should get the rest...
           os.write("{\"Name\":\"Fred Flintstone\",\"JobRole\":\"Quarry worker\", ...");
       }
    };
    

    您也可以使用new terse REST API:

    Map<String, Object> jsonData = Rest.post(myUrl).body(bodyValueAsString).getAsJsonMap();
    

    【讨论】:

      猜你喜欢
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      相关资源
      最近更新 更多