我使用mochijson2編碼一些數據。 但是我發現它在列表中的行爲很奇怪。mochijson2或mochijson
實施例:
mochijson2:編碼( 「foo」 的)。
[91, 「102」,44, 「111」,44, 「111」,93]
其中 「102」, 「111」, 「111」 是$ F,$ O, $ o編碼爲字符串 44是逗號,91和93是方形的配件。
當然,如果我輸出這個地方,我會得到字符串「[102,111,111]」,這顯然不是我所爲。
,如果我嘗試
mochijson2:編碼(< < 「FOO」 >>)。
[34,< < 「foo」 的>>,34]
所以我再次我得到內其可以被轉化爲二進制與list_to_binary/1
2雙引號和二進制部分的列表這是一個問題 - 爲什麼它如此不一致。我知道有一個問題應該被編碼爲json數組和erlang字符串,應該被編碼爲json字符串,但至少可以在我傳遞二進制文件時輸出二進制文件嗎?
而第二個問題: 看起來mochijson輸出一切美好的事物(因爲它使用特殊的元組指定數組{陣列,...})
mochijson:編碼(< < 「FOO」 >> )。
「\」 福\ 「」
什麼mochijson2和mochijson之間的區別?性能? Unicode處理?還要別的嗎?
感謝
感謝您的回答,但仍不是一切都清楚。 我想:第二種情況你的<<"foo">>字符串變成「foo」不是真的,或者[34,<<"foo">> 34]等價於「foo」? mochijson支持utf-8呢? 當我使用mochijson2我向編碼器添加了{utf8,true}選項。 – 2009-10-13 21:56:10
嘗試erlang:iolist_to_binary([34,<<"foo">>,34])。 34是單個「字符,<<"foo">>是三字符長字符串foo(w/o」),而34是另一個「。 – Zed 2009-10-14 05:45:47
無論你對iodata的解釋還有另一個問題。」foo「是無效的JSON並且無法翻譯成有效的JSON – 2009-10-14 15:30:41