簡體   English   中英

如何在Java中將無效的JSON字符串轉換為JSONObject?

[英]How to convert Invalid JSON String to JSONObject in Java?

我有一個如下所示的字符串響應,它是一個無效的json,因為它包含"obj13=" 。我想將其轉換為JSONObject(JAVA)並使用它。是否有任何好的方法可以在不使用String split操作的情況下將其轉換為JSONObject 。

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

當然,這是JavaScript,而不是JSON。 如果可以,我將返回服務提供商並請求JSON響應。

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

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

然后解析結果。 請注意,大多數優秀的解析器應該有一個選項,允許關鍵字不帶引號,並允許多余的逗號( 我的允許,但不幸的是,它不會創建JSONObject,但級別較低-它旨在構造數據結構由調用者選擇,如果您想要的話,可以是JSONObject,但您必須對其進行編碼)。

如果結果可能分配也可能沒有分配,您可能會有點兒幻想,並確保JS標識符在'='之前的非空白字符對於JS標識符有效,而在其后的第一個非空白字符為'{' 。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM