0

这是第一个 JSON 对象到字符串输出

{
  "session_id" : "zzz00001111",
  "name" : "Administrator",
}

但是当我打电话时,

response.remove("session_id");
response.append("session_id","abc12345678") ;

它变成了以下。

{
  "session_id" : [
    "abc12345678"
  ],
  "name" : "Administrator",
}

但我不需要更改 JSON 的样式,我只需要更改 session_id 的值。任何想法如何做到这一点。我累了追加它没有工作。

4

2 回答 2

2

public JSONObject append(String key, Object value)方法的描述说:

将值附加到键下的数组中。如果 JSONObject 中不存在该键,则将该键放入 JSONObject 中,其值为包含 value 参数的 JSONArray。如果键已经与 JSONArray 关联,则将 value 参数附加到它。

所以,这就是你得到一个数组的原因。

正确的使用方法是public JSONObject put(String key, Object value)

在 JSONObject 中放置一个键/值对。如果值为 null,则如果存在,则将从 JSONObject 中删除该键。

在您的情况下,只需使用:

response.put("session_id","abc12345678");
于 2013-01-24T14:31:52.620 回答
2

尝试以下

response.put("session_id","session-id")

于 2013-01-24T14:22:45.187 回答