mochijson2 o mochijson

Estoy codificando algunos datos usando mochijson2. Pero encontré que se comporta extraño en cadenas como listas.

Ejemplo:

mochijson2: codificar ("foo").

[91, "102", 44, "111", 44, "111", 93]

Donde "102", "111", "111" son $ f, $ o, $ o codificados, ya que las cadenas 44 son comas y 91 y 93 son corchetes cuadrados.

Por supuesto, si saco esto en algún lugar, obtendré la cadena "[102,111,111]" que obviamente no es lo que yo qué.

Si lo intento

mochijson2: codificar (<< "foo" >>).

[34, << "foo" >>, 34]

Así que nuevamente obtengo una lista de dos comillas dobles y una parte binaria dentro de la cual se puede traducir a binario con list_to_binary / 1

Aquí está la pregunta: ¿por qué es tan inconsistente? Entiendo que hay un problema que distingue erlang list que debe codificarse como json array y erlang string, que debe codificarse como json string, pero al menos, ¿puede generar un formato binario cuando lo paso en binario?

Y la segunda pregunta: parece que mochijson produce todo lo que está bien (porque usa una tupla especial para designar matrices {array, ...})

mochijson: codificar (<< "foo" >>).
"\" foo \ ""

¿Cuál es la diferencia entre mochijson2 y mochijson? ¿Actuación? ¿Manejo de Unicode? ¿Algo más?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta