JSON改变价值

时间:2013-01-24 14:15:47

标签: java json tapestry

这里将第一个JSON对象转换为字符串输出

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

但是当我打电话时,

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

它变成了以下内容。

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

但是我不需要改变JSON的样式,我只需要更改session_id的值。知道如何做到这一点。我累了追加它没用。

2 个答案:

答案 0 :(得分:2)

尝试以下

response.put( “session_id的”, “会话-id”)

答案 1 :(得分: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");