Я - двухнедельный младенец в отношении Эрланг и Мочиве. Раньше у меня была система, работающая на PHP, и вскоре я понял, что она не сможет справиться с такой нагрузкой, которую я ожидал. Поэтому я решил переключить сервер на сервер на базе Mochiweb. Сейчас мне нужно знать, как реализовать JSON с Mochiweb. Я полностью осведомлен о существовании библиотеки mochijson2, но, будучи новичком, я не могу разобраться, как его использовать. Может ли кто-нибудь указать мне место, где я могу найти примеры использования этой библиотеки или любой другой библиотеки json в erlang?
Mochijson2 примеры!
Ответ 1
API mochijson2 по существу состоит из двух функций, которые (если вы загрузили mochiweb) можно использовать непосредственно из оболочки Erlang следующим образом:
erl -pa path/to/mochiweb/ebin
...
1> mochijson2:decode(<<"[1,2,3]">>).
[1,2,3]
2> iolist_to_binary(mochijson2:encode([1,2,3])).
<<"[1,2,3]">>
В нижней части mochiweb/src/mochijson2.erl есть несколько тестовых примеров, которые также могут быть полезны при понимании соответствия между терминами JSON и терминами Erlang.
Ответ 2
Да, мне пришлось потратить кучу времени в исходном коде, чтобы выяснить, что происходит. На самом деле, это описывает мой опыт работы с Erlang. Это привело меня, создав JSON, в котором я нуждаюсь. Вот краткий пример.
ERL :: {struct, [{strKey, <<"strVal">>}, {intKey, 10}, {arrayKey, [1, 2, 3]}]}
JSON :: {strKey:"strVal", intKey:10, arrayKey:[1, 2, 3]}
Итак, в этом примере вы можете увидеть, как создавать объекты (которые mochijson2 хочет, чтобы вы вызывали structs), строки, целые числа и массивы. Удачи!
Ответ 3
Я предлагаю читать/смотреть/скачивать Начать разработку веб-приложений на Erlang
Ответ 4
Ниже приведены эквивалентные команды erlang в дополнение к комментарию @rik.the.vik:
erl -pa path/to/mochiweb/ebin
...
iolist_to_binary(mochijson2:encode({struct, [{strKey, <<"strVal">>}, {intKey, 10}, {arrayKey, [1, 2, 3]}]})).
mochijson2:decode(<<"{\"strKey\":\"strVal\", \"intKey\":10, \"arrayKey\":[1, 2, 3]}">>).