JSON.parse добавляет строку и затем выдает недопустимый токен в ', - PullRequest
0 голосов
/ 07 февраля 2019

Я анализирую веб-страницу с помощью nokogiri, а затем перебираю селекторы css, пока не нахожу искомый. Затем я запускаю регулярное выражение для соответствия только части javascript, а затем пытаюсь проанализировать ее с помощью JSON.parse, но этовозвращает неверный токен с ошибкой в ​​', {... Если я запускаю, помещает соответствующие данные, он показывает их без запятой, но ошибка возникает, когда я запускаю JSON.parse JSON :: ParserError: 822: неожиданный токен в', {"skuAttr ":" 200007763: 201336106; 491: 200004763 # 145 см "," skuPropIds ":"

file=File.open('product.html')
doc=Nokogiri::HTML.parse(file)
doc.css("script").each do |page|
if page.text=~/skuProducts/
    skudata = page.text[/var skuProducts=\[(.+?)\];/, 1]
    puts skudata
            parsed = JSON.load(skudata)
end 
end

1 Ответ

0 голосов
/ 07 февраля 2019

Если вы постоянно видите эту запятую с префиксом, а остальная часть строки JSON выглядит корректно ... то почему бы просто не удалить эту начальную запятую, а затем попробовать анализ JSON?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...