Здравствуйте.
Помогите с регуляркой.
Нужно парсить код одного ресурса.
subscription:{ id:null, subscriber_id:null, visible:true},
totalCount:8827, mainCount:8827, filterCount:8827,
extraCount: , totalElements:8827, witchersCount:0, itemsOnPage:50, itemsOnPageMainSection:50,
catalog:
{
items:[
{ type: banner , code: context_1 },
{ type: item , id:26853188, categoryId:101, locationId:637640, isVerifiedItem:false, urlPath: /moskva/tovary_dlya_kompyutera/monitor_26853188 , title: Монитор , description:null, ....
Это JSON или чтото другое??
У меня в лоб решение парсить регулярками:
Так вот есть запись:
geoReferences:[{ content: Лермонтовский проспект , after: , colors:[ #943E90 ]}]
Делаю регулярку
(\S+):[(.+?)]
Результат:
Но он не учитывает количество вложенных скобок. Можно как то это контролировать регулярками??
AlexP
(Alex P.)
#2
Судя по строкам без " — скорее YAML.
Так что если структура одна — лучше взять библиотеку для него.
В 3 строке вроде некорректное что-то, если так и было изначально.
А есть ресурсы которые могут класс построить по имеющемуся коду?
AlexP
(Alex P.)
#4
В смысле класс?
Есть библиотеки для разных ЯП сериализующие/десериализующие классы.
https://github.com/aaubry/YamlDotNet
Его и взял. Вылетел в ошибку
Вот кусок вырезал
url:/moskva/tovary_dlya_kompyutera/monitory-ASgBAgICAUTGB4Bo?cd=1&s=104&user=1,searchHash:cbvlagty8js48owgwwwocg4oosgwooo,subscription:{id:null,subscriber_id:null,visible:true}
Не хочет.
AlexP
(Alex P.)
#6
хм, да, это не валидный YAML если прям так, нужны или кавычки (тогда это и JSON), или новые строки без запятых.
А что за ресурс?
мне наверно нельзя прям так прямо сказать …
ща