Я столкнулся с этим странным JSON, который я не могу расшифровать. Чтобы упростить вещи, скажем, это строка JSON:Преобразование символов Юникода JSON
"\uffffffe2\uffffff94\uffffff94\uffffffe2\uffffff94\uffffff80\uffffffe2\uffffff94\uffffff80 mystring"
После декодирования он должен выглядеть следующим образом:
└── mystring
JS или PHP, кажется, не правильно преобразовать его.
js> JSON.parse('"\uffffffe2\uffffff94\uffffff94\uffffffe2\uffffff94\uffffff80\uffffffe2\uffffff94\uffffff80 mystring"')
ffe2ff94ff94ffe2ff94ff80ffe2ff94ff80 mystring
PHP ведет себя так же
php> json_decode('"\uffffffe2\uffffff94\uffffff94\uffffffe2\uffffff94\uffffff80\uffffffe2\uffffff94\uffffff80 mystring"')
ffe2ff94ff94ffe2ff94ff80ffe2ff94ff80 mystring
Любые идеи, как правильно разобрать этот JSON строка будет приветствоваться.
JSON поступает из 'journald' в формате json -' journalctl -o json' –
Вы были правы, это было неверно json из 'journald' https://github.com/systemd/systemd/issues/1076 –
управляющие символы U + 0000 до U + 001F _must_ также будут экранированы; не только "и \ См. [Стандарт JSON] (http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf) или [RFC 8259] (https: // tools. ietf.org/html/rfc8259). – Gerhard