为什么我无法将我的字符串解析为JsonValue?
问题描述:
为什么JsonObject“obj”不是对象? 字符串“哈”是一种格式作为JsonString为什么我无法将我的字符串解析为JsonValue?
public static JsonObject get() {
String response = "";
JsonObject obj= new JsonObject();
int i = 0;
String ha = "";
String h = "";
ArrayList <Integer> ra = new ArrayList <Integer>();
try{ response = Request.Get("my url")
.execute().returnContent().asString();
}
catch(IOException ex){ ex.printStackTrace();
}
String[] data = response.split("}");
ArrayList<String> dataInList = new ArrayList<String>(Arrays.asList(data));
obj.add(response, 0); ha = obj.toString().substring(1);
JsonValue jsonValue = Json.parse(ha);
obj = jsonValue.asObject();
,如果我要去回报“哈”
结果将是:{\"title\":\"Numb\",\"artist\":\"Linkin Park\",\"ratings\":5,4,5,1,3,\"youtubeID\":\"kXYiU_JCYtU\"}
但如果我将返回的JSONObject obj
结果将是:
Exception in thread "main" java.lang.UnsupportedOperationException: Not an object: "{\"title\":\"Carly Rae Jepsen - I Really Like You (Live At Capital Summertime Ball)\",\"artist\":\"CarlyRaeJepsenVEVO\",\"ratings\":5,\"youtubeID\":\"5kwZCFItrfY\"}"
at com.eclipsesource.json.JsonValue.asObject(JsonValue.java:295)
at MusicRatings.getAllSongsFromAPI(MusicRatings.java:146)
at MusicRatings.main(MusicRatings.java:257)
答
json的评分应格式化为一个数组。 在JSON,值的数组声明如下:
{
“称号”: “麻木”,
“艺术家”: “林肯公园”,
“评级“:[5,4,5,1,3],
”youtubeID“:” kXYiU_JCYtU”
}
在你的情况下,4是评级数组的下一个元素还是它是json中的下一个元素都会产生混淆。 并在解析之前使用一些在线json解析器来验证你的json是否可解析。
不要将文本/代码发布为图片/链接([更多信息](http://meta.stackoverflow.com/a/285557)) – Pshemo
使用[edit]选项更正您的帖子。 – Pshemo
解析JSON的子串以创建另一个JsonObject看起来不正确。你想在这里做什么?为了得到更好的帮助,考虑发布[MCVE](a.k.a. [SSCCE](http://sscce.org)) – Pshemo