2017-12-13 5 views
0

WebサイトのHTTPリクエストが届きました。コンテンツタイプはJSONです。しかし、私はユニコードであり、一貫性の問題を引き起こしている入れ子JSONを取得しています。ここでJSON HTTP応答が壊れています

は一例です。

{"key1":"value", 
"key2":"value", 
"key3":{ 
     u'key31':u'value', 
     u'key32':u'value'}} 

これは、Python 2.7トラブルを思い出させるが、私は、このJSONを修正する方法がわからないです。私はそれを解析するためにC#を使用しています。 key3にアクセスしようとするまで、すべて正常に動作します。 コンテンツはJSONオブジェクト型である必要がありますが、値または文字列と見なされます。

yaヘルプありがとうございます。それが実際に壊れている場合、またはそれを間違って解析している場合に修正する方法はありますか?

+0

質問は何ですか?どのように正規表現または同様の方法でこの無効なjsonを修正するには? – Evk

+0

主にこれが実際に破損している場合は、C#で最後のオプションとしてregexを残して処理する方法を示します。 – DukeOfHazard

+0

はい、壊れています。最善の方法はもちろん、このjsonを送信するサーバーを修正することです。または、それがあなたのサーバーでない場合は、担当する担当者に依頼してください。 – Evk

答えて

0

このjsonオブジェクトが完全ではない/正しい構文が正しくありません。閉じる '}'文字がありません。

どのようにデータを解析していますか? this documentationをご覧ください。

+0

ええ、申し訳ありませんが、私のせいで括弧を省略しました。私が得た回答には正しい表記があります。それは単なる先験的なユニコード問題です。 私はコンテンツを取得しています:req.Content.ReadAsAsync (); 次に、私は別のインスタンスにコンテンツを送信します。 – DukeOfHazard

0

あなたのJSONオブジェクトが有効ではありませんが、あなたがPythonのダンプからこのJSONを得るのですか万が一

{ 
    "key1":"value", 
    "key2":"value", 
    "key3":{ 
     " u'key31'":"u'value'", 
     "u'key32'":"u'value'" 
    } 
} 

をfolllowsとして、それはようにする必要がありますフォーマットされましたか? coz PythonのUnicodeリテラルは有効なJSONではなく、どちらも一重引用符ではありません

+0

私のサーバーではないので、私は本当に知りません。 – DukeOfHazard

関連する問題