2017-02-21 9 views
0

Ich habe eine JSON-Datei, die ich zu analysieren versuche, die keine umgebenden eckigen Klammern hat: [...].Java: Gson-Parse ohne eckige Klammern

Here ist der Java-Code. (Dies hat die Gson-Abhängigkeit in Maven.) Ich bekomme weiterhin den Fehler in Zeile 29, "Dies ist kein JSON-Array." Wenn ich jedoch am Anfang und am Ende der JSON-Datei eckige Klammern hinzufüge, parst es gut. Wie kann ich das ohne die Klammern analysieren? Hier

ist die JSON:

{ 
    "title": "Title", 
    "content": "whatever", 
    "author": "Yuki Noguchi", 
    "date_published": "2017-02-15T20:25:00.000Z", 
    "lead_image_url": "https://media.npr.org/assets/img/2017/02/15/ap_17039860769171_wide-d1a5d3c17f00d78fd1df9d19a96e1d7b3bd38e60.jpg?s=1400", 
    "dek": null, 
    "next_page_url": null, 
    "url": "http://www.npr.org/2017/02/15/515425370/trump-labor-pick-andrew-puzders-nomination-appears-in-jeopardy", 
    "domain": "www.npr.org", 
    "excerpt": "The fast-food CEO faced fierce opposition from labor groups, plus personal controversies. Ultimately, he didn't have support from enough Republican senators.", 
    "word_count": 751, 
    "direction": "ltr", 
    "total_pages": 1, 
    "rendered_pages": 1 
} 

Dank!

+4

Parse es in eine 'JsonObject' anstelle eines Arrays. – Zircon

+0

Wie kann ich das tun? – werdna3232

+1

in Zeile 29 Sie versuchen, ein Array zu erhalten, obwohl Sie kein Array haben. Anstatt zu versuchen, ein Array zu erhalten, holen Sie JsonObject, wie andere es erwähnt haben – Coder

Antwort

0

Versuchen Sie diese, append "[" öffnen und "]" schließen geschweifte Klammern und speichern in temporäre Variable und übergeben diese temporäre Variable zu analysieren.

beispielsweise

var jsonVar = { name:"hello", title: "WOrld" }; 
var tmpJsonVar = "[" + jsonVar + "]"; 
var jsonObject = JSON.parse(tmpJsonVar); 
Verwandte Themen