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