将字符串解析为字典

-4 投票
1 回答
566 浏览
提问于 2025-04-18 10:40

我有一个字符串,它的格式肯定像字典一样。

我需要把它解析出来,然后在Python中存储为一个字典。

我尝试过的方法是:

myObj={}
tmp=""
if ':' in line:
    key,value = line.split(':')
    key = key.strip('"')
    value = value.lstrip(' ').rstrip(',')
    if value == '{':
        tmp += key + '.'
    if value == '}':
        tmp = ''
    if(value!="{"):
        myObj[tmp + key] = value

逐行读取并解析。但是我在处理不同格式时遇到了问题。

举个例子:

        {
        "id": 1,
        "name": "Foo",
        "price": 123,
        "tags": [ "Bar", "Eek" ],
        "stock": {
            "warehouse": 300,
            "retail": 20
        }
    }

不能使用eval或者任何内置函数,像json这样的库也不能用。我可以在这里用正则表达式吗?我该怎么做呢?

1 个回答

2

你有一些JSON格式的数据,可以使用json来解析这些数据:

import json

data = json.loads(yourstring)

Python自带很多功能,不需要重复造轮子。

撰写回答