0

配列 GSON を送信する必要があります。REST で Look をリクエストする方法は次のとおりです。

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

これが私のコードです:

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

list は 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);

ノート:

  • JsonArray を POST リクエストに String として追加するための便利なメソッドである jsonObject.toString() を実行できることを認識してください。
  • JSONArray != JsonArray
于 2015-07-09T17:54:09.893 に答える