Json 如何将字符串转换为字典?
我正在尝试将此字符串转换为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
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很多。这是非常有用的注意,其他解决方案不需要安装软件包