Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 如何将字符串转换为字典?_Json_Python 3.x - Fatal编程技术网

Json 如何将字符串转换为字典?

Json 如何将字符串转换为字典?,json,python-3.x,Json,Python 3.x,我正在尝试将此字符串转换为json对象:- coordinates = "{ lat: '55,7303650017903', lng: '12,3446636123658' }" 我尝试使用json.loads,但它对我不起作用。 有什么方法可以实现这一点吗?我建议使用demjson python解析器来实现这一点,因为字符串是js对象 import demjson print(demjson.decode("{ lat: '55,7303650017903', lng: '12,34466

我正在尝试将此字符串转换为json对象:-

coordinates = "{ lat: '55,7303650017903', lng: '12,3446636123658' }"
我尝试使用json.loads,但它对我不起作用。
有什么方法可以实现这一点吗?

我建议使用demjson python解析器来实现这一点,因为字符串是js对象

import demjson
print(demjson.decode("{ lat: '55,7303650017903', lng: '12,3446636123658' }"))

我建议使用demjson python解析器来实现这一点,因为字符串是js对象

import demjson
print(demjson.decode("{ lat: '55,7303650017903', lng: '12,3446636123658' }"))

您需要使用json.loads:

import json

coordinates = '{ "lat": "55,7303650017903", "lng": "12,3446636123658" }'

datastore = json.loads(coordinates)

print(json.dumps(datastore))

您可以尝试在线回复:

您需要使用json.loads:

import json

coordinates = '{ "lat": "55,7303650017903", "lng": "12,3446636123658" }'

datastore = json.loads(coordinates)

print(json.dumps(datastore))

您可以尝试在线回复:

一个可能的解决方案是使用正则表达式:

进口稀土 坐标={lat:'557303650017903',lng:'123446636123658'} pattern=r{lat:'.*',lng:'.'.'} 纬度,lng=re.findallpattern,坐标[0] 此解决方案不需要导入re之外的任何其他包。如果需要,则需要具有这些值的词典:

跳线={lat:lat,lng:lng}
一种可能的解决方案是使用正则表达式:

进口稀土 坐标={lat:'557303650017903',lng:'123446636123658'} pattern=r{lat:'.*',lng:'.'.'} 纬度,lng=re.findallpattern,坐标[0] 此解决方案不需要导入re之外的任何其他包。如果需要,则需要具有这些值的词典:

跳线={lat:lat,lng:lng}
使用正则表达式在键周围添加引号,然后使用ast模块

例:

输出:


使用正则表达式在键周围添加引号,然后使用ast模块

例:

输出:



字符串看起来像javascript objectI正要按照@Chris Doyles comment进行注释-这不是python字典,因为您的键周围没有引号。问题是,此字符串既不是有效的python dict,也不是有效的json对象。好的。谢谢你的更正。但是有没有一种方法可以检索密钥的值?例如,“lat”字符串的值看起来像javascript objectI正要按照@Chris Doyles comment进行注释-这不是python字典,因为您的键周围没有引号。问题是该字符串既不是有效的python dict,也不是有效的json对象。好的。谢谢你的更正。但是有没有一种方法可以检索密钥的值?例如,“lat”的值这不是一个解决方案,因为您的字符串与OP hasSure的字符串不同,就像它所说的需要在键上加引号一样。这是隐含的。是的,但这不是一个普遍的解决方案。你必须假设OP是从其他地方得到这个字符串的,它可能包含任何内容。如果您的答案是OP,那么OP应该隐式地更改字符串。你也可以说OP可以在代码中隐式地写为s dict OK,Chris!知道了!谢谢这不是一个解决方案,因为您的字符串与OP-hasSure的字符串不同,就像它所说的需要在键上加引号一样。这是隐含的。是的,但这不是一个普遍的解决方案。你必须假设OP是从其他地方得到这个字符串的,它可能包含任何内容。如果您的答案是OP,那么OP应该隐式地更改字符串。你也可以说OP可以在代码中隐式地写为s dict OK,Chris!知道了!谢谢谢谢。这是非常有用的注意,其他解决方案不需要安装PackageHanks很多。这是非常有用的注意,其他解决方案不需要安装软件包