0

我有一个如下所示的字符串响应,它是一个无效的 json,因为它包含"obj13="。我想将它转换为 aJSONObject(JAVA)并使用它。有没有什么好的方法可以在不使用字符串拆分操作的情况下将其转换为 JSONObject。

obj13={
  players: [
    {
      name: "rocky",
      place: "brazil",
      age: "21",
    },
    {
      name: "andy",
      place: "New Zealand",
      age: "23",
    }
  ]
}
4

1 回答 1

1

当然,这是 JavaScript,而不是 JSON。如果可以的话,我会返回服务提供商并要求 JSON 响应。

如果字符串的格式是一致的,你可以只使用:

json=json.substring(json.indexof('=')+1);  

然后解析结果。请注意,大多数好的解析器应该有一个选项来允许关键字不带引号并允许多余的逗号(我的这样做,但不幸的是,它不会创建 JSONObject,但它的级别较低 - 它旨在构建数据结构调用者的选择,如果这是您想要的,它可能是 JSONObject,但您必须对其进行编码)。

如果结果可能有也可能没有赋值,你可能想要更花哨一点,并确保 '=' 之前的非空白字符对 JS 标识符有效,并且它之后的第一个非空白字符是 '{' .

于 2013-08-29T17:02:12.093 回答