Форум сайта python.su
Подскажите плс как быстрее и автоматически преобразовать такую строку в набор вложенных друг в друга объектов ?
Структура и размер такой строки могут меняться.
['[{“code”:1,“pos”:24,“row”:0,“col”:24,“len”:5,“word”:“\\u0421\\u0423\\u04140\\u0412”,“s”:},{“code”:3,“pos”:34,“row”:0,“col”:34,“len”:5,“word”:“\\u041b\\u042e\\u0414\\u0435\\u0419”,“s”:},{“code”:1,“pos”:40,“row”:0,“col”:40,“len”:9,“word”:“\\u043e\\u0441\\u0432\\u04351\\u0414\\u0435\\u043d\\u044b”,“s”:},{“code”:1,“pos”:68,“row”:0,“col”:68,“len”:11,“word”:“\\u0440\\u0441\\u0446\\u0443\\u0430\\u0446\\u0443\\u0432\\u0430\\u043f\\u043a”,“s”:},{“code”:1,“pos”:90,“row”:0,“col”:90,“len”:2,“word”:“\\u043b\\u044e”,“s”:},{“code”:1,“pos”:119,“row”:0,“col”:119,“len”:14,“word”:“\\u043d\\u0435\\u043f\\u043e\\u0442\\u043e\\u043f\\u043b\\u044f \\u0434\\u0435\\u0439”,“s”:},{“code”:1,“pos”:155,“row”:0,“col”:155,“len”:6,“word”:“\\u0435\\u043c\\u043e\\u0441\\u0442\\u0438”,“s”:},{“code”:1,“pos”:178,“row”:0,“col”:178,“len”:7,“word”:“\\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f”,“s”:}]']
спасибо !
Офлайн
#!/usr/bin/env python # -*- coding: utf-8 -*- d='[{"code":1,"pos":24,"row":0,"col":24,"len":5,"word":"\\u0421\\u0423\\u04140\\u0412","s":4}]' lst=eval(d) print lst
Офлайн
import ast data = ... entries = ast.literal_eval(data)
[code python]
код....
[/code]
Офлайн
в каждом словаре в условии ключ “s” не имеет своего значения, будет ошибка. Это опечатка или так и есть?
Офлайн
так и есть, пробую сервис яндекс спеллер и все же решил что лучше получать отклик в формате XML и его парсить, (поначалу хмл более страшным показался ) чем в виде такой строки, спасибо всем за помощь !
Отредактировано run (Ноя. 16, 2012 09:52:08)
Офлайн
runСразу бы сказали, там JSON
пробую сервис яндекс спеллер
import json entries = json.loads(data)
Офлайн