2017-02-21 8 views
0

角括弧を囲んでいないJSONファイル([...])があります。Java:Gear parse with角括弧

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

どうすればいいですか? – werdna3232

+1

29行目に配列を持っていないのに配列を取得しようとしています。配列を取得しようとする代わりに、JsonObjectを他のものと同じように取得する – Coder

答えて

0

これを試して、 "[" open "と"] "を閉じて一時変数に格納し、その一時変数を解析して渡します。例えば

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