我在嘗試解碼Java程序(傑克遜)的JSON輸出並遇到一些問題。 問題的原因是下面的代碼片段:JSON解碼問題
{
"description": "... lives\uMOVE™ OFFERS ",
}
導致ValueError: Invalid \uXXXX escape
。
有關如何解決此問題的任何想法?
編輯:輸出是從一個Avro文件,Avro包使用傑克遜作爲JSON發射記錄。
編輯2:在源文件中戳動後,可能會出現JSON手動構建的情況(對不起傑克遜)。
我在嘗試解碼Java程序(傑克遜)的JSON輸出並遇到一些問題。 問題的原因是下面的代碼片段:JSON解碼問題
{
"description": "... lives\uMOVE™ OFFERS ",
}
導致ValueError: Invalid \uXXXX escape
。
有關如何解決此問題的任何想法?
編輯:輸出是從一個Avro文件,Avro包使用傑克遜作爲JSON發射記錄。
編輯2:在源文件中戳動後,可能會出現JSON手動構建的情況(對不起傑克遜)。
這是Avro版本< 1.6.0中的一個已知錯誤。有關更多詳細信息,請參閱AVRO-851。
基本輸入是不是有效的JSON。
關於http://www.json.org/的規範定義了字符串應該如何編碼。您將不得不修復其他應用程序的JSON輸出。
Jackson目前沒有配置功能來允許接受此類輸入。 (它是否與Jackson生成?)
您可以修改流解析器來處理它。跟蹤堆棧跟蹤到需要改變的方法。
你可以在http://jira.codehaus.org/browse/JACKSON提交變更請求對於要增強傑克遜提供這樣的功能,但我不知道該請求將如何流行的是,是否會永遠執行。
你是如何得到輸出的?你是否嘗試將其編碼爲utf-8? –
我正在閱讀Python的輸出(運行java作爲子進程並讀取它的stdout)。我試圖使用utf-8 OutputStreamWriter,但它沒有改變任何事情。 – lazy1