Python:如何将列表中的字符串转换为列表中的json,同时保留双引号

Python:如何将列表中的字符串转换为列表中的json,同时保留双引号,python,python-3.x,parsing,Python,Python 3.x,Parsing,这是针对Python3.x的,我正在努力转换以下内容 ['{"from": "USD", "to": "EUR"}'] 到 我尝试过使用ast.literal_eval,但它以单引号返回我的json,我已经尝试了一个多小时的不同组合,但都没有用,非常感谢您的帮助 >>c=['{“from”:“USD”,“to”:“EUR”}'] >>> c=['{"from": "USD", "to": "EUR"}'] >>> c[0] '{"from": "USD",

这是针对Python3.x的,我正在努力转换以下内容

['{"from": "USD", "to": "EUR"}']

我尝试过使用ast.literal_eval,但它以单引号返回我的json,我已经尝试了一个多小时的不同组合,但都没有用,非常感谢您的帮助

>>c=['{“from”:“USD”,“to”:“EUR”}']
>>> c=['{"from": "USD", "to": "EUR"}']
>>> c[0]
'{"from": "USD", "to": "EUR"}'
>>> eval( c[0])
{'to': 'EUR', 'from': 'USD'}
>>> p=eval(c[0])
>>> print p
{'to': 'EUR', 'from': 'USD'}
>>> type(p)
<type 'dict'>
>>>c[0] “{”从“:”美元“,”到“:”欧元“}” >>>评估(c[0]) {'to':'EUR','from':'USD'} >>>p=评估值(c[0]) >>>打印p {'to':'EUR','from':'USD'} >>>类型(p)
>>c=['{“from”:“USD”,“to”:“EUR”}']
>>>c[0]
“{”从“:”美元“,”到“:”欧元“}”
>>>评估(c[0])
{'to':'EUR','from':'USD'}
>>>p=评估值(c[0])
>>>打印p
{'to':'EUR','from':'USD'}
>>>类型(p)

使用
json.loads
json.dumps
。它将为您解决这一问题:

import json

a = ['{"from": "USD", "to": "EUR"}']
obj = json.loads(a[0])
print(obj, type(obj))
>> {'to': 'EUR', 'from': 'USD'} <class 'dict'>

print(json.dumps(obj), type(json.dumps(obj)))
>> {"to": "EUR", "from": "USD"} <class 'str'>
导入json
a=['{“from”:“USD”,“to”:“EUR”}']
obj=json.load(a[0])
打印(obj,类型(obj))
>>{'to':'EUR','from':'USD'}
打印(json.dumps(obj),类型(json.dumps(obj)))
>>{“到”:“欧元”,“从”:“美元”}

使用
json.loads
json.dumps
。它将为您解决这一问题:

import json

a = ['{"from": "USD", "to": "EUR"}']
obj = json.loads(a[0])
print(obj, type(obj))
>> {'to': 'EUR', 'from': 'USD'} <class 'dict'>

print(json.dumps(obj), type(json.dumps(obj)))
>> {"to": "EUR", "from": "USD"} <class 'str'>
导入json
a=['{“from”:“USD”,“to”:“EUR”}']
obj=json.load(a[0])
打印(obj,类型(obj))
>>{'to':'EUR','from':'USD'}
打印(json.dumps(obj),类型(json.dumps(obj)))
>>{“到”:“欧元”,“从”:“美元”}

您可以使用
json.loads
。你为什么喜欢双引号?你的标题说你想转换成JSON,但你的问题表明你不想。它是哪一个?如果你把它变成那个,你的内存中有一个Python对象。在打印之前,它不会使用任何特定类型的引号。您到底想向服务器发送什么?@user4659009 Well JSON是一个字符串。特定格式的字符串,表示数据。是的,你的“to”结果只是一本字典。不包含任何引号,既不包含双引号也不包含单引号。打印词典时看到的引号不是其实际值的任何部分。@user4659009:您不能通过网络将Python对象发送到服务器。您只能通过网络发送字符串。使用
json.dumps()
从Python对象转到包含编码为json的对象的字符串。您可以使用
json.loads
。你为什么喜欢双引号?你的标题说你想转换成JSON,但你的问题表明你不想。它是哪一个?如果你把它变成那个,你的内存中有一个Python对象。在打印之前,它不会使用任何特定类型的引号。您到底想向服务器发送什么?@user4659009 Well JSON是一个字符串。特定格式的字符串,表示数据。是的,你的“to”结果只是一本字典。不包含任何引号,既不包含双引号也不包含单引号。打印词典时看到的引号不是其实际值的任何部分。@user4659009:您不能通过网络将Python对象发送到服务器。您只能通过网络发送字符串。使用
json.dumps()
将Python对象转换为包含编码为json的对象的字符串。应始终避免使用eval,因为它是一个大安全漏洞。应始终避免使用eval,因为它是一个大安全漏洞。