Имеется строка приблизительно следующего вида:
NAME1 = {NAME2 = {Test.Sample.One = 11;Test.Sample.Two = 12;Test.Sample.Three = 13;};};
Есть желание её разобрать но нет желания делать это вручную. Попробовал питон: модули json и ast не понимают такую структуру:
>>> string = 'NAME1 = {NAME2 = {Test.Sample.One = 11;Test.Sample.Two = 12;Test.Sample.Three = 13;};};'
>>> print string
NAME1 = {NAME2 = {Test.Sample.One = 11;Test.Sample.Two = 12;Test.Sample.Three = 13;};};
>>> import json
>>> json.loads(string)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/json/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.6/json/decoder.py", line 319, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib64/python2.6/json/decoder.py", line 338, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
>>> import ast
>>> ast.literal_eval(string)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/ast.py", line 49, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "/usr/lib64/python2.6/ast.py", line 37, in parse
return compile(expr, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
NAME1 = {NAME2 = {Test.Sample.One = 11;Test.Sample.Two = 12;Test.Sample.Three = 13;};};
^
SyntaxError: invalid syntax
На что это похоже и есть ли стандартные инстурменты для такого рода структур? Не обязательно питон.