Как использовать mochijson для кодирования структуры данных в erlang?

Bash имеет функцию, названную расширение параметра , который, среди прочего, позволяет строковую замену на основе так называемого шаблоны (шаблоны напоминают регулярные выражения, но существуют принципиальные различия и ограничения). [исходная строка flussence: Bash имеет регулярные выражения, но они хорошо скрыты:]

следующее демонстрирует, как удалить весь пробел (даже от внутренней части) от значения переменной.

$ var='abc def'
$ echo "$var"
abc def
# Note: flussence's original expression was "${var/ /}", which only replaced the *first* space char., wherever it appeared.
$ echo -n "${var//[[:space:]]/}"
abcdef
6
задан Rodrigue 8 October 2012 в 16:07
поделиться

1 ответ

mochijson2 работает со строками как двоичными файлами, списками как массивами и декодирует только UTF-8. Mochijson декодирует и кодирует кодовые точки Unicode.

Чтобы создать глубокую структуру, я сделал следующее:

2> L = {struct, [{key2, [192]}]}. 
{struct,[{key2,"?"}]}
3> 
3> L2 = {struct, [{key, L}]}.   
{struct,[{key,{struct,[{key2,"?"}]}}]}
4> 
4> mochijson:encode(L2).
[123,"\"key\"",58,
 [123,"\"key2\"",58,[34,"\\u00c0",34],125],
 125]

Итак, если вы рекурсивно создадите структуру данных с помощью списков, все будет в порядке. Я не уверен, почему не поддерживаются глубокие структуры, но, похоже, они не поддерживаются, по крайней мере, не так, как вы пытаетесь их создать. Может быть, кто-то знает более умный способ сделать это.

Вы также можете проверить эту ветку: mochijson2 examples!

или

Видеоурок по началу разработки веб-приложений на Erlang

11
ответ дан 8 December 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: