>我遇到了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"
}
干杯
我找到了答案,这是我的一个错误,因为我没有从 Base64 解码数据。这很奇怪,因为它看起来完全相同的输出,但事实并非如此。
感谢@Jhanvi试图帮助我。