2013-10-25 76 views
1

我面臨使用JSON錯誤,雖然AWS的Json異常 - 一個JSONObject文本必須以「{」以1字符2線1]

System.out.println((int)text.trim().charAt(0)); 

返回123,這意味着它開始於花括號。 我完全沒有想法,我也試圖trim()而不是toString()

InputStream bis = new ByteArrayInputStream(bytes); 
InputStream is = new GZIPInputStream(bis); 
byte[] unPackedBytes = IOUtils.toByteArray(is); 
String text = new String(unPackedBytes, "UTF-8"); 
JSONObject obj = new JSONObject(text.toString()); 

它是如此的奇怪,因爲當我輸入的JSON它不給任何錯誤,但是當我給壓縮文件它確實給了錯誤,但壓縮文件的輸出是JSON完全相同,所以我我很困惑。 這是Json。

{ 
    "id": 123, 
    "providerId": 123, 
    "externalTrackId": "068d", 
    "genres": [ 
     { 
      "genre": "Rap/Hip-Hop", 
      "subGenre": "Rap/Hip-Hop" 
     } 
    ], 
    "title": { 
     "title": "The " 
    }, 
    "artists": [ 
     { 
      "name": { 
       "primary": { 
        "value": "J-" 
       } 
      }, 
      "role": "Artist" 
     } 
    ], 
    "contributors": [], 
    "release": { 
     "id": 123, 
     "title": { 
      "title": "The " 
     }, 
     "artist": { 
      "primary": { 
       "value": "J" 
      } 
     }, 
     "externalId": "gener2cec9477d", 
     "genre": { 
      "genre": "Rap/Hip-Hop", 
      "subGenre": "Rap/Hip-Hop" 
     }, 
     "copyrightYear": 0 
    }, 
    "trackCountInMedia": 0, 
    "mediaCountInRelease": 0, 
    "signature": { 
     "url": "https:", 
     "id": 123, 
     "type": "FULL", 
     "audioType": "MUSIC", 
     "creation": "2013-" 
    }, 
    "label": "Unknown", 
    "lastMod": "2013-01-04T16:02:57.607Z" 
} 

乾杯

+0

以上代碼中的'text'是什麼? – Jhanvi

+0

文本來自inputstream,因爲我先解壓文件。 – Ducaz035

+0

請按照您的說明爲流中的「文本」提供一些文本,以便可以識別錯誤。 – Jhanvi

回答

0

我發現我的答案,這是我的一個錯誤,因爲我不是從Base64編碼數據進行解碼。 這很奇怪,因爲它看起來像完全相同的輸出,但它不是。

感謝@Jhanvi試圖幫助我。

相關問題