2017-02-21 163 views
0

我有一個JSON文件,我試圖解析,沒有圍繞方括號:[...]Java:沒有方括號的Gson解析

Here是Java代碼。 (這在Maven中有Gson依賴)我繼續在第29行獲得錯誤,「這不是JSON數組」。但是,當我將方括號添加到JSON文件的開始和結尾時,它解析得很好。我如何解析這個沒有括號。

這裏是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 
} 

謝謝!

+4

解析它變成一個'JsonObject'代替的陣列。 – Zircon

+0

我該怎麼做?第29行中的 – werdna3232

+1

即使沒有數組,也要嘗試獲取數組。而不是像其他人所說的那樣嘗試獲取數組 – Coder

回答

0

試試這個,追加「[」打開和「]」關閉大括號並存儲在臨時變量中,並傳遞該臨時變量來解析。

例如,

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