首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON下载更改“双引号到”单引号

JSON下载更改“双引号到”单引号
EN

Stack Overflow用户
提问于 2018-07-11 17:57:47
回答 2查看 1.6K关注 0票数 0

我有一个简单的python3.6程序,它使用S3库下载AWS文件

代码语言:javascript
复制
import boto3
import json

s3 = boto3.resource('s3')

content_object = s3.Object('my-bucket-name', 'folder1/folder2/emr-config.json')
file_content = content_object.get()['Body'].read().decode('utf-8')
json_content = json.loads(file_content)

print(json_content)

但是该程序正在将“JSON文件中使用的双引号”改为“单引号,即当我从AWS管理控制台直接下载该文件时,JSON使用”双引号“,但是当我运行我的程序并输出结果JSON时,它使用‘单引号’。

代码语言:javascript
复制
[{'Properties': {'maximizeResourceAllocation': 'true'}, 'Classification': 'spark'}]

对比

代码语言:javascript
复制
[{"Properties": {"maximizeResourceAllocation": "true"}, "Classification": "spark"}]

这是我将用于创建EMR集群的配置文件,只有当JSON配置使用“双引号”时,它才能工作。

我想找到一个解决方案,不需要我对整个文件进行查找和替换。有没有办法让我下载“双引号”表格中的文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-11 18:03:11

如果您只是试图通过Python获取JSON字符串,那么为什么要将它反序列化为一个对象呢?您只需按原样编写file_contents,它将保持为有效的JSON

票数 1
EN

Stack Overflow用户

发布于 2018-07-11 18:00:12

发文来源:json.loads does not keep double quotes intact

首先:引号不是价值的一部分。它们是语法的一部分,向解析器发出定义字符串的信号。

JSON只支持双引号,但在Python中,可以使用单引号或双引号来定义字符串。当回显字符串值时,Python通过向您展示Python语法来重新定义相同的值来反映该值。对于这种表示形式,首选单引号。只有当该值实际包含至少一个单引号而没有双引号时,才会使用双引号:

代码语言:javascript
复制
>>> "Normal strings are reflected with single quotes by Python"
'Normal strings are reflected with single quotes by Python'
>>> 'Single quote: \''
"Single quote: '"
>>> 'Single quote: \', and a double quote: \"'
'Single quote: \', and a double quote: "'

你看到的是完全正常的行为。您不能更改这一点;您看到的输出是一个调试工具。如果这是您想要更改的内容,请生成您自己的格式化程序。

当您再次从Python结构生成JSON时,将只使用双引号生成有效的JSON输出:

代码语言:javascript
复制
>>> import json
>>> json_string = '{"created_at": "2012/02/05 04:03:50 -0800"}'
>>> json.loads(json_string)
{u'created_at': u'2012/02/05 04:03:50 -0800'}
>>> json.dumps(json.loads(json_string))
'{"created_at": "2012/02/05 04:03:50 -0800"}'
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51291682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档