有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

共 (1) 个答案

  1. # 1 楼答案

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

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

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

    然后解析结果。请注意,大多数好的解析器都应该有一个选项,允许关键字不带引号,并允许额外的逗号(mine does,但不幸的是,它并没有创建JSONObject,而是一个较低的级别—它被设计为构造调用方选择的数据结构,如果您需要的话,它可以是JSONObject,但您必须对其进行编码)

    如果结果可能有赋值,也可能没有赋值,那么您可能需要更进一步,并确保“=”之前的非空白字符对JS标识符有效,而“{”之后的第一个非空白字符对JS标识符有效