2017-04-24 90 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是否可解析。

相關問題