我有一个包含类似于下面示例的信息的文件。我想知道是否有办法使用python读取此文件并将其用作json。我知道如何打开它并处理文本,但还有另一种方法吗?
示例:
key={{name='foo', etc..},{},{},{}}
答案 0 :(得分:1)
如果您希望将您的内容视为json,则需要使用有效的json语法:
{"key":[{"name": "foo"},{},{},{}]}
然后你可以使用json库将它转换为字典:
>>> import json
>>> json.loads('{"key":[{"name": "foo"},{},{},{}]}')
{u'key': [{u'name': u'foo'}, {}, {}, {}]}
此外,如果您的文件内容无法更改为正确的json语法,那么您需要为特定情况开发解析器。
答案 1 :(得分:0)
在搜索了几种不同的语言后,我能够确定数据结构是一个Lua容器。我在这里找到了一个简单的lua-python解析器github.com/SirAnthony/slpp,我能够解析(解码)lua数据结构。下面是使用slpp.py解析lua容器的示例。我希望这可以帮助任何有类似问题的人。
>>> from slpp import slpp as lua
>>> data = lua.decode('{ array = { 65, 23, 5 }, dict = { string = "value", array = { 3, 6, 4}, mixed = { 43, 54.3, false, string = "value", 9 } } }')
>>> print data
{'array':[65,23,5],'dict':{'mixed':{0:43,1:54.33,2:False,4:9,'string':'value'} ,'array':[3,6,4],'string':'value'}}