2017-04-24 2 views
-4

Warum ist das JsonObject "obj" kein Objekt? Der String "ha" ist in einem Format wie JsonStringWarum kann ich meine Zeichenfolge nicht in JsonValue einlesen?

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(); 

wenn ich Rückkehr Gonna "ha"

Ergebnis sein wird: {\"title\":\"Numb\",\"artist\":\"Linkin Park\",\"ratings\":5,4,5,1,3,\"youtubeID\":\"kXYiU_JCYtU\"}

aber wenn ich JsonObject zurückkehren obj Ergebnis wird sein:

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

Veröffentlichen Sie keinen Text/Code als Bild/Link ([more info] (http://meta.stackoverflow.com/a/285557)) – Pshemo

+0

Verwenden Sie [Bearbeiten] Option, um Ihren Beitrag zu korrigieren. – Pshemo

+0

Das Analysieren der Teilzeichenfolge von JSON, um ein anderes JsonObject zu erstellen, sieht nicht richtig aus. Was versuchst du hier zu machen? Um bessere Hilfe zu erhalten, sollten Sie auch [MCVE] schreiben (a.k.a. [SSCCE] (http://sscce.org)) – Pshemo

Antwort

0

Die Bewertungen json sollte als Array formatiert werden.

{

"title": "Numb",

"Künstler"

: "Linkin Park",

„-Ratings

In json, Array von Werten würde wie folgt erklärt werden ": [5,4,5,1,3],

"youtubeID":" kXYiU_JCYtU“

}

In Ihrem Fall gab es eine Verwirrung, ob 4 das nächste Element des Bewertungs-Arrays war oder ob es das nächste Element in JSON war. Und vor dem Parsen sollten Sie einige Online-JSON-Parser verwenden, die überprüfen würden, ob Ihr JSON parsierbar ist.

Verwandte Themen