Как использовать mochijson для кодирования массива объектов?

StackOverflow https://stackoverflow.com//questions/9610118

  •  09-12-2019
  •  | 
  •  

Вопрос

У меня есть два объекта, которые я хотел бы объединить и отправить в массив, закодированный как JSON с помощью mochijson.Они есть:

> 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:encode({struct, [{"книги", {множество, [Книга0, Книга1]}}]}).

[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» (который будет корректно работать как в случае с, так и без array).

Другие советы

Лучший ответ, после небольшого дайвинга источника: предпочитаю mochijson2, если у вас нет отличной причины не делать.

mochijson2 тоже быстрее, чем mochijson.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top