получить объект JavaScript из сценария в HTML - PullRequest
0 голосов
/ 15 октября 2018

Это то, что у меня есть, html:

    <script type="text/javascript">var imp_accountInfo = {
          "id": "6yb32e53e03g4",
          "nickname": "jack"
    };</script>

Я хочу получить эту часть:

    {
      "id": "6yb32e53e03g4",
      "nickname": "jack"
    }

Я пытался использовать Cheerio, но я просто потерял так много вещей, которые ядаже не знаю с чего начать.

1 Ответ

0 голосов
/ 15 октября 2018

Это простое регулярное выражение может сделать это для вас (хотя вы не пометили свой вопрос регулярным выражением):

/{[^}]+}/g

Оно просто начинается с левой фигурной скобки, а затем соответствует всему, что не является правильным фигурнымскобка и заканчивая последней правой фигурной скобкой.Он получает именно то, что вы хотите.

Edit в соответствии с комментарием:

/imp_accountInfo\s=\s({[^}]+})/

Это найдет первые фигурные скобки, близкие к 'imp_accountInfo'.

Как использовать :

Используйте String.match в JavaScript и используйте index '1' результирующего массива.

Edit2 :

Я расширил регулярное выражение, поэтому теперь вы можете извлечь значения quoted между фигурными скобками:

/imp_accountInfo\s=\s{[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^"]*"([^"]*)"[^}]*}/

Все еще использовать String.совпадать, и вы получите содержимое в массиве.

...