2017-04-24 89 views
-4

为什么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) 
+1

不要将文本/代码发布为图片/链接([更多信息](http://meta.stackoverflow.com/a/285557)) – Pshemo

+0

使用[edit]选项更正您的帖子。 – Pshemo

+0

解析JSON的子串以创建另一个JsonObject看起来不正确。你想在这里做什么?为了得到更好的帮助,考虑发布[MCVE](a.k.a. [SSCCE](http://sscce.org)) – Pshemo

回答

0

json的评分应格式化为一个数组。 在JSON,值的数组声明如下:

{

“称号”: “麻木”,

“艺术家”: “林肯公园”,

“评级“:[5,4,5,1,3],

”youtubeID“:” kXYiU_JCYtU”

}

在你的情况下,4是评级数组的下一个元素还是它是json中的下一个元素都会产生混淆。 并在解析之前使用一些在线json解析器来验证你的json是否可解析。

相关问题