Поскольку вы просили вдохновения, я могу представить себе два направления, по которым вы можете пойти
Вы можете написать код для подбора роли вашего собственного JSON, который, если ваша потребность достаточно скромна, может быть очень легким и подходящим решением. Было бы довольно просто, Эрланг, взять эту единственную структуру данных и преобразовать ее в JSON.
"[[{\" ID1 \ ": 1}, {\" id2 \ ": 2}, {\" id3 \ ": 3}, {\" ID4 \ ": 4}], [{\ "id1 \": 5}, {\ "id2 \": 6} {\ "id3 \": 7}, {\ "id4 \": 8}]] "
Вы можете создать структуру данных, которую может обрабатывать mochijson mochiweb: encode / 1 и decode / 1. Я взял ваш список и вручную кодировал его в JSON, получив:
X = "[[{\" id1 \ ": 1}, {\" id2 \ ": 2}, {\" id3 \ ": 3}, {\" id4 \ ": 4}], [ {\ "iD1 \": 5}, {\ "id2 \": 6}, {\ "\" id3: 7}, {\ "\" ID4: 8}.]]»
затем я использовал mochison: decode (X), чтобы увидеть, какую структуру mochiweb использует для представления JSON (слишком ленив, чтобы просматривать документацию).
Y = mochijson:decode(X).
{array,[{array,[{struct,[{"id1",1}]},
{struct,[{"id2",2}]},
{struct,[{"id3",3}]},
{struct,[{"id4",4}]}]},
{array,[{struct,[{"id1",5}]},
{struct,[{"id2",6}]},
{struct,[{"id3",7}]},
{struct,[{"id4",8}]}]}]}
Итак, если вы можете создать эту немного более сложную структуру данных, чем та, которую вы используете, то вы можете получить JSON, используя mochijson: encode / 1. Вот пример, вставленный в оператор io: format, чтобы он печатал его как строку - часто вы бы использовали io_lib: format / X в зависимости от вашего приложения.
io:format("~s~n",[mochijson:encode(Y)]).
[[{"id1":1},{"id2":2},{"id3":3},{"id4":4}],[{"id1":5},{"id2":6},{"id3":7},{"id4":8}]]