Dr *_*ato 13 python unicode json fabric python-2.7
我正在使用fabric从远程服务器上的文件中读取json:
from StringIO import StringIO
output = StringIO()
get(file_name, output)
output = output.getvalue()
Run Code Online (Sandbox Code Playgroud)
现在的价值output是:
'"{\\n \\"status\\": \\"failed\\", \\n \\"reason\\": \\"Record already
exists.\\"\\n}"'
当我尝试使用json.loads(output)它返回unicode对象u'{\n "status": "failed", \n "reason": "Record already exists."\n}'而不是字典时,将此字符串解析为字典.
我想出了一个相当糟糕的修复方法,只需将新的unicode对象传回json.loads():
json.loads(json.loads(output))
有没有办法解决这个问题呢?
干杯
m.w*_*ski 18
您的数据已转义.
json.loads(output.decode('string-escape').strip('"'))
Run Code Online (Sandbox Code Playgroud)
应该给你想要的结果:
Out[12]: {'reason': 'Record already exists.', 'status': 'failed'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14059 次 |
| 最近记录: |