第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 json -(utf-8) 轉(zhuǎn)換為 json(unicode escape) 和原始字符串

將 json -(utf-8) 轉(zhuǎn)換為 json(unicode escape) 和原始字符串

ITMISS 2023-10-26 17:03:39
您好,我在 Python 中將 utf-8 json 轉(zhuǎn)換為 unicode escape json 時遇到一些麻煩我知道如何將 utf-8.txt 轉(zhuǎn)換為 unicode escape.txtwith open("input.txt", "r", encoding='utf8') as f:    text = f.read()with open('output.txt', 'w', encoding='unicode-escape') as f:    f.write(text)但是,我面臨著上面使用 python 中的 json 模塊應(yīng)用的問題,如下所示with codecs.open(self.input,'r', encoding='utf-8') as json_file:    json_data = json.load(json_file)with codecs.open(self.output,'w', encoding='unicode-escape') as json_file:    prepare_json = json.dumps(json_data, ensure_ascii=False)    json_file.write(prepare_json)它保存得很好,但是當涉及到 json 中的雙引號 (") 時,它會自動添加雙反斜杠 (\\),因此在 python 腳本中調(diào)用時 unicode-escape.json 文件無法正常工作。認為1. Input file (UTF-8): {"context" : "-\" ?"} 我通過上面的第二個代碼塊轉(zhuǎn)換它2. Output file (UNICODE-ESCAPED) : {"context" : "-\\" \ub108"}3. What I want (UNICODE-ESCAPED) : {"context" : "-\" \ub108"}由于雙引號前面有雙反斜杠,Python 在加載 unicode 轉(zhuǎn)義的 json 文件時會顯示錯誤。更多細節(jié)輸入文件:./simple_test.json{"context" : "-\" ?"}with codecs.open('./simple_test.json', 'r', encoding='utf-8') as json_file:    json_data = json.load(json_file)prepare_json = json.dumps(json_data, ensure_ascii=False)prepare_json>>> '{"context": "-\\" ?"}'repr(prepare_json)>>> '\'{"context": "-\\\\" ?"}\''print(prepare_json)>>> {"context": "-\" ?"} 所以它應(yīng)該打印出 {"context": "-" \ub108"} ,這只是 {"context": "-" ?"} 。Output.json(I excpected}{"context": "-\" \ub108"}但是,使用下面的代碼我得到了with codecs.open('./simple_test_out.json','w', encoding='unicode-escape') as json_file:    json_file.write(prepare_json)Output.json{"context": "-\\" \ub108"}經(jīng)過幾次嘗試,我發(fā)現(xiàn)只有在使用encoding =“unicode-escape”格式編寫文件時才會發(fā)生這種情況。 并用奇數(shù)個反斜杠替換原始字符串將不起作用。任何建議或想法將不勝感激!
查看完整描述

1 回答

?
撒科打諢

TA貢獻1934條經(jīng)驗 獲得超2個贊

看起來你只是想要ensure_ascii=True(默認):


C:\>type input.json

{"context" : "-\" ?"}


C:\>py

Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import json

>>> with open('input.json',encoding='utf8') as f:

...    data = json.load(f)

...

>>> data

{'context': '-" ?'}

>>> with open('output.json','w',encoding='utf8') as f:

...    json.dump(data,f)

...

>>> ^Z


C:\>type output.json

{"context": "-\" \ub108"}


查看完整回答
反對 回復 2023-10-26
  • 1 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號