如何使用Mochijson编码一系列对象?
题
我有两个对象,我想捆绑在一个数组中,用Mochijson编码为JSON。它们是:
> Book0 = {struct, [{"title", "a book"}, {"id", "1"}]}.
> Book1 = {struct, [{"title", "another book"}, {"id", "2"}]}.
.
但是,
> mochijson:encode({struct, [{"books", [Book0, Book1]}]}).
** exception exit: {json_encode,{bad_char,{struct,[{"title","a book"},
{"id","1"}]}}}
in function mochijson:json_encode_string_unicode_1/1 (src/mochijson.erl, line 203)
in call from mochijson:json_encode_string_unicode/1 (src/mochijson.erl, line 190)
in call from mochijson:'-json_encode_proplist/2-fun-0-'/3 (src/mochijson.erl, line 151)
in call from lists:foldl/3 (lists.erl, line 1197)
in call from mochijson:json_encode_proplist/2 (src/mochijson.erl, line 154)
.
如何为Mochijson构建数据?我知道这个文章可悲的是,不涵盖物体阵列。
解决方案
mochijson:编码({struct,[{{“books”,{ array ,[book0,book1]}])。
.[123,"\"books\"",58, [91, [123,"\"title\"",58,"\"a book\"",44,"\"id\"",58,"\"1\"",125], 44, [123,"\"title\"",58,"\"another book\"",44,"\"id\"",58, "\"2\"",125], 93], 125]
但普遍的共识似乎是:“使用Mochijson2”(这将正确地为两种带有和不含生成的情况工作)。
其他提示
最好的答案,经过一点源潜水,是:更喜欢Mochijson2,除非你有一个不错的原因。
mochijson2也更快,然后是mochijson。
不隶属于 StackOverflow