3

我正在用 Java 为 BlackBerry 构建应用程序并读取/写入 JSON,我正在使用 SDK 中包含的 org.json.me 包。

当我生成一个复杂的 JSONObject 并在其上运行 toString() 方法以发送数据时,我看到一个看似随机的数字出现在字符串中,它破坏了 JSON

{"cb_aggregate_key":
  [
    {"$project":{"Symbol":"1","Price":"1","total":"1"}},
    {"$group":[8835.281] {"_id":"$Symbol","total":{"$sum":"$Price"}}}
  ]
}

请注意,在 $group 对象的开头,我有这个 [8835.281],它不是我的对象的一部分。我试图记录插入在“$group”键下的 JSONObject 的 toString(),它看起来是正确的

{"_id":"$Symbol","total":{"$sum":"$Price"}}

最初我认为它可能是我的字符串中的一些奇怪字符,但找不到任何东西。

然后我注意到,即使从http://cloudbase.io API 读取 JSON 响应,我也会成功地将字符串转换为 JSONOjbect。然后,当我打印出运行 JSONObject 的 toString() 方法的输出时,我看到那里也出现了随机数:

{"register-device":
  {
    "status":"OK",
    "message":{
      "output":"register 2013-01-31[8832.953] T13:49:41+00:00 553648138",
      "sessionid":"510a767592a578064d0001d2"
    },
    "error":""
  }
}

请注意出现在“输出”字符串中的 [8832.953]。

有没有人见过这种行为?

4

1 回答 1

2

这是 Eclipse 控制台窗口中不必要的调试输出,它将每隔几毫秒执行一次以以下格式输出时间戳:

[12345.678]

不幸的是,没有办法将其关闭,尽管您可以使用正则表达式匹配来解析它。

于 2013-01-31T18:32:24.523 回答