Python处理JSONlike字符串的最佳方法

2024-06-02 06:40:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用类似JSON的字符串,其结构如下:

"CA":"Canada","FR":"France","DE":"Germany","NL":"Netherlands","PL":"Poland","GB":"United Kingdom","AR":"Argentina","AU":"Australia","BE":"Belgium","BR":"Brazil","more":"+26"

我想知道从这个字符串中提取值或键(因为这可能适用于使用标志emojis)的最佳方法是什么。我曾经考虑过添加{}使其成为一个有效的JSON,并使用正则表达式进行处理,但我想知道哪种方法是正确的


Tags: 方法字符串jsonnldefr结构ca
3条回答

json库可能很有用:json.loads()方法将json字符串解析到字典中

import json

your_string = '"CA":"Canada","FR":"France","DE":"Germany","NL":"Netherlands","PL":"Poland","GB":"United Kingdom","AR":"Argentina","AU":"Australia","BE":"Belgium","BR":"Brazil","more":"+26"'
json_like_string = '{' + your_string + '}'

dict_from_json = json.loads(json_like_string)

print(dict_from_json)

输出:

{'CA': 'Canada', 'FR': 'France', 'DE': 'Germany', 'NL': 'Netherlands', 'PL': 'Poland', 'GB': 'United Kingdom', 'AR': 'Argentina', 'AU': 'Australia', 'BE': 'Belgium', 'BR': 'Brazil', 'more': '+26'}
我不知道你认为什么是“适当的”,但关键和价值是一个明确的模式。

inpstr = '"CA":"Canada","FR":"France","DE":"Germany","NL":"Netherlands",...'

obj = {k.strip('"'): v.strip('"') for k, v in [p.split(':') for p in inpstr.split(',')]}

这就是json.dumps()帮助您的地方,您可以将其更改为类似json的格式w3schools dumps documentation

相关问题 更多 >