如何在Java中将无效的JSON字符串转换为JSONObject?

时间:2013-08-29 16:57:05

标签: java json

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

然后解析结果。请注意,大多数好的解析器应该有一个选项,允许没有引号的关键字,并允许无关的逗号(mine does,但不幸的是,它不会创建JSONObject但是级别较低 - 它旨在构建调用者选择的数据结构,如果这是你想要的,你可能是一个JSONObject,但你必须编写它。)

如果结果可能有也可能没有赋值,你可能想要得到一点点发现并确保'='之前的非空格字符对JS标识符有效,并且后面的第一个非空格是有效的。 '{'。

相关问题