mochijson2 lub mochijson
Koduję niektóre dane za pomocą mochijson2. Ale odkryłem, że zachowuje się dziwnie na łańcuchach jako listy.
Przykład:
mochijson2: encode („foo”).
[91, „102”, 44, „111”, 44, „111”, 93]
Gdzie „102”, „111”, „111” to $ f, $ o, $ o zakodowane jako łańcuchy 44 to przecinki, a 91 i 93 to kwadratowe hamulce.
Oczywiście, jeśli wyślę to gdzieś, dostanę ciąg „[102, 111, 111]”, co oczywiście nie jest tym, co ja.
Jeśli spróbuję
mochijson2: encode (<< "foo" >>).
[34, << "foo" >>, 34]
Ponownie otrzymuję listę dwóch podwójnych cytatów i części binarnej, w której można przetłumaczyć na binarny z list_to_binary / 1
Oto pytanie - dlaczego jest tak niespójne. Rozumiem, że istnieje problem z listą erlang, która powinna być zakodowana jako tablica json i ciąg erlang, który powinien być zakodowany jako ciąg json, ale przynajmniej może wygenerować plik binarny, gdy przekazuję go binarnie?
Drugie pytanie: Wygląda na to, że mochijson wypisuje wszystko ładnie (ponieważ używa specjalnej krotki do wyznaczenia tablic {tablica, ...})
mochijson: encode (<< "foo" >>).
"\"bla\""
Jaka jest różnica między mochijson2 a mochijson? Wydajność? Obsługa Unicode? Coś jeszcze?
Dzięki