2016-11-03 15 views
0

JSON形式のWebサイトからデータを抽出します。本文の引用符でJSONを解析しようとすると、次のエラーが表示されます。JSON文字列内の引用符を自動的に削除するJava

org.codehaus.jettison.json.JSONException: 

誰もが、私は、自動的に(「体」のように)他の引用符を削除せずに、文字列に引用符(「エクイティ・プット」の前後に引用符)を削除する方法を知っています。株式入れ「には、 『ボディ・フィールドの文字列で、この例では

』エラーが発生します。

{"body":"ChOTD-11/3/16 CBOE "Equity Put":Call Ratio/ISEE Call:Put Ratio Hits Extreme > 1.00 $SPY $SPX"} 
+2

JSON文字列を生成する人は間違っています。値の中の '' 'は' \ "でエスケープする必要があります。 – Marvin

+1

JSONの形式が正しくありません。形式のJSONを解析する消費者ではなく、整形式のJSONを提供するのはプロバイダーのため、JSONを提供しているユーザーは誰でも出力を修正する必要があります。 – Compass

答えて

3

『エクイティ・プットはこれらの引用符を持っている必要があります。エクイティ・プット\」を』 \されている必要があります」エスケープされたものであったか、さもなければ文字列が株式の直前で終わります

+0

しかし、これは単一のオブジェクトなので、どのようにスクリプトに入れるのですか?複数のオブジェクトでどうすればいいですか? –

+0

JSON文字列の形式が正しくありません。そのJSON文字列を作成したものであれ、そうでなかったものであれ、それが移動/変換されたときに変更されたもの(あれば)です。 JSON形式を出力する通常のシステムでは、引用符付きの文字列の中に引用符の前にバックスラッシュを挿入します。出力を制御している人、そのJSON出力を生成している人、という質問をする必要があります。おそらくそれは手で巻かれていて、この人は引用符をエスケープすることを忘れていました...この場合、String.replaceAll( "\" "、" \\\ "")が修正される可能性があります。あなたのことを心配して、私はあなたのケースで何が起こっているのか分からない。 – Mike

関連する問題