mochijson2 ou mochijson
Estou codificando alguns dados usando o mochijson2. Mas achei que se comporta de maneira estranha em strings como listas.
Exemplo:
mochijson2: encode ("foo").
[91, "102", 44, "111", 44, "111", 93]
Onde "102", "111", "111" são $ f, $ o, $ o codificados como as strings 44 são vírgulas e 91 e 93 são braquetes quadrados.
Claro que se eu produzir isso em algum lugar eu vou pegar string "[102,111,111]", que obviamente não é isso que eu o quê.
Se eu tentar
mochijson2: encode (<< "foo" >>).
[34, << "foo" >>, 34]
Então eu novamente eu recebo uma lista de duas duplas e parte binária dentro da qual pode ser traduzida para binário com list_to_binary / 1
Aqui está a pergunta - por que é tão inconsistente. Eu entendo que há um problema distingushing lista erlang que deve ser codificado como json array e erlang string, que deve ser codificado como json string, mas pelo menos ele pode saída binária quando eu passar binário?
E a segunda pergunta: Parece que o mochijson produz tudo de bom (porque usa uma tupla especial para designar arrays {array, ...})
mochijson: encode (<< "foo" >>).
"\" foo \ ""
Qual a diferença entre o mochijson2 e o mochijson? Atuação? Manipulação de Unicode? Algo mais?
obrigado