【发布时间】:2014-06-22 10:18:24
【问题描述】:
我有一个字符串,它肯定是字典形式的。 我需要解析它并将其存储为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
逐行读取并解析。但我面临着不同格式的问题。
对于 E.G.
{
"id": 1,
"name": "Foo",
"price": 123,
"tags": [ "Bar", "Eek" ],
"stock": {
"warehouse": 300,
"retail": 20
}
}
不使用 eval 或任何内置函数或库,如 json。我可以在这里使用正则表达式吗?
我该怎么做呢?
【问题讨论】:
-
为什么“不使用
eval或任何内置函数或库”? -
真的,您明确排除了提供的库?注意
re也是一个库。你需要告诉我们为什么你有这样任意的限制。 -
那么解析就没有任何意义了。我需要解析它。
-
您无法使用正则表达式解析 JSON - 它是 not a regular language。
-
那么请告诉我们您到目前为止尝试了什么;编写解析器并非易事。
标签: python dictionary