mochijson2 или mochijson
Я кодирую некоторые данные, используя mochijson2. Но я обнаружил, что он ведет себя странно в строках в виде списков.
Пример:
mochijson2: закодировать ( "Foo").
[91, "102", 44, "111", 44, "111", 93]
Где «102», «111», «111» - это $ f, $ o, $ o, закодированные как строки 44, - это запятые, а 91 и 93 - квадратные скобки.
Конечно, если я выведу это куда-нибудь, я получу строку «[102,111,111]», которая явно не та, что я что.
Если я попробую
mochijson2: закодировать (<< "Foo" >>).
[34, << "Foo" >>, 34]
Итак, я снова получаю список из двух двойных кавычек и двоичной части, которые можно перевести в двоичную форму с помощью list_to_binary / 1
Вот вопрос - почему это так противоречиво. Я понимаю, что существует проблема с удалением списка erlang, который должен быть закодирован как массив json, и строки erlang, которая должна быть закодирована как строка json, но, по крайней мере, может ли он выводить двоичный файл, когда я передаю его в двоичном виде?
И второй вопрос: похоже, что mochijson выводит все красиво (потому что он использует специальный кортеж для обозначения массивов {array, ...})
mochijson: закодировать (<< "Foo" >>).
"\" Foo \ ""
В чем разница между mochijson2 и mochijson? Представление? Обработка Юникода? Что-нибудь еще?
Спасибо