0

我需要发送一个数组 GSON。以下是如何在 REST 中请求外观。

{
"session_id":"9658179abdcc29eb12cdb1a35f91a11a",
"list":[
    "112",
    "112"
]
}

这是我的代码:

JSONObject requestObject = new JSONObject();
requestObject.put("session_id", session_id);
requestObject.put("list", list);
return requestObject.toString();

其中列表是 ArrayList。

我收到一个错误:

 Expected BEGIN_OBJECT but was STRING at line 8 column 1

我究竟做错了什么?抱歉,我是 GSON 的新手。

4

2 回答 2

0

尝试:

return new Gson().toJson(requestObject);

代替:

return requestObject.toString();
于 2013-08-01T15:55:23.140 回答
0

我不明白你的问题。请更具体和明确。我假设您想使用 Gson 生成 JSONArray,例如:

{
"session_id":"9658179abdcc29eb12cdb1a35f91a11a",
"list":[
    "112",
    "112"
]
}

会是这样的:

        final JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("session_id", "9658179abdcc29eb12cdb1a35f91a11a");
        final JsonArray jsonArray = new JsonArray();
        jsonArray.add(new JsonPrimitive("112"));
        jsonArray.add(new JsonPrimitive("112"));
        jsonObject_MatchEventDiscussion.add("list", jsonArray);

笔记:

  • 意识到您现在可以执行 jsonObject.toString(),这是一种将 JsonArray 作为字符串添加到 POST 请求中的便捷方法。
  • JSONArray != JsonArray
于 2015-07-09T17:54:09.893 回答