Aws Json异常 - JSONObject文本必须以1 {字符2第1行的'{'开头

时间:2013-10-25 09:35:23

标签: java json amazon-web-services

我正面临着json的错误,尽管

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"
}

干杯

1 个答案:

答案 0 :(得分:0)

我找到了答案,这是我的错误,因为我没有从Base64解码数据。 这很奇怪,因为它似乎完全相同的输出,但事实并非如此。

感谢@Jhanvi试图帮助我。