конвертировать HTML сущностей в JSON - PullRequest
0 голосов
/ 06 января 2020


У меня есть такой ужасный JSON файл { "foo": "bar ’ foo ’" }.

Есть ли способ - предпочтительно использовать jq - для преобразования HTML сущностей, а затем в этом примере для преобразования ’ in .

Мне нужно конвертировать их программно. Это JSON только пример.

Спасибо

1 Ответ

0 голосов
/ 06 января 2020

Это простой в использовании кодировщик / декодер HTML, который называется he и записан в JavaScript. Он основан на , а не jq, но он должен позволять вам делать то, что вы пытаетесь, относительно легко.

https://github.com/mathiasbynens/he

УСТАНОВИТЬ:

Через npm:

npm install he

Через Бауэр:

bower install he

Через компонент:

component install mathiasbynens/he

В браузере:

<script src="he.js"></script>

В Node.js, Io. js, Нарвал и Рин goJS:

var he = require('he');

В Rhino:

load('he.js');

Использование загрузчика AMD, например Require JS:

require(
  {
    'paths': {
      'he': 'path/to/he'
    }
  },
  ['he'],
  function(he) {
    console.log(he);
  }
);

Использование в качестве инструмента CLI:

Установка he с использованием глобального флага -g

npm i -g he

После этого вы сможете для кодирования или декодирования HTML объектов из командной строки:

$ he --encode 'föo ♥ bår ? baz'
> f&#xF6;o &#x2665; b&#xE5;r &#x1D306; baz

$ he --encode --use-named-refs 'föo ♥ bår ? baz'
> f&ouml;o &hearts; b&aring;r &#x1D306; baz

$ he --decode 'f&ouml;o &hearts; b&aring;r &#x1D306; baz'
> föo ♥ bår ? baz

Декодирование программно:

he.decode(html, options)

Эта функция принимает строку HTML и декодирует любые именованные и числовые ссылки в нем, используя алгоритм, описанный в разделе 12.2.4.69 HTML spe c.

he.decode('foo &copy; bar &ne; baz &#x1D306; qux');
// → 'foo © bar ≠ baz ? qux'
...