Python:Dump to Json添加了额外的双引号和转义引号

您所在的位置:网站首页 json写入文件后再读取出现换行符怎么解决 Python:Dump to Json添加了额外的双引号和转义引号

Python:Dump to Json添加了额外的双引号和转义引号

2024-07-13 12:23| 来源: 网络整理| 查看: 265

我使用 python工具检索Twitter数据,并将它们以JSon格式转储到我的磁盘.我注意到一个意想不到的转义整个数据字符串,一个tweet被包含在双引号中.此外,实际的Json格式的所有双引号都用反斜杠进行转义.

 

他们看起来像这样:

 

“{\”created_at\”:\”Fri Aug 08 11:04:40 +0000 2014\”,\”id\”:497699913925292032,

我该如何避免?它应该是:

 

{“created_at”:”Fri Aug 08 11:04:40 +0000 2014″ …..

我的退出代码如下所示:

 

with io.open('data'+self.timestamp+'.txt', 'a', encoding='utf-8') as f: f.write(unicode(json.dumps(data, ensure_ascii=False))) f.write(unicode('\n'))

意外的转义导致在稍后的处理步骤中在json文件中读取的问题.

您是双重编码JSON字符串.数据已经是JSON字符串,并且不需要再次编码:

 

 

>>> import json >>> not_encoded = {"created_at":"Fri Aug 08 11:04:40 +0000 2014"} >>> encoded_data = json.dumps(not_encoded) >>> print encoded_data {"created_at": "Fri Aug 08 11:04:40 +0000 2014"} >>> double_encode = json.dumps(encoded_data) >>> print double_encode "{\"created_at\": \"Fri Aug 08 11:04:40 +0000 2014\"}"

只需将这些直接写入您的文件:

 

with open('data{}.txt'.format(self.timestamp), 'a') as f: f.write(data + '\n')


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3