2017-02-21 166 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);