mochijson2 примеры! - PullRequest
       35

mochijson2 примеры!

16 голосов
/ 16 июня 2009

Я двухнедельный ребенок в отношении Эрланга и Мочивеба. Ранее у меня была система, работающая на PHP, и вскоре я понял, что она не сможет справиться с ожидаемой нагрузкой. Поэтому я решил переключить сервер на сервер на базе Mochiweb. Сейчас мне нужно знать, как реализовать JSON с Mochiweb. Я полностью осведомлен о существовании библиотеки mochijson2, но, будучи новичком, я не могу понять, как ее использовать. Может ли кто-нибудь указать мне место, где я могу найти примеры использования этой библиотеки или любой другой библиотеки json в erlang?

Ответы [ 4 ]

9 голосов
/ 16 июня 2009

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.

8 голосов
/ 17 июня 2009

Да, мне пришлось потратить кучу времени в исходном коде, чтобы выяснить, что происходит. На самом деле, это описывает мой опыт работы с Erlang. Это заставило меня создать JSON, который мне нужен. Вот быстрый пример.

ERL  :: {struct, [{strKey, <<"strVal">>}, {intKey, 10}, {arrayKey, [1, 2, 3]}]}
JSON :: {strKey:"strVal", intKey:10, arrayKey:[1, 2, 3]}

Итак, в этом примере вы можете увидеть, как создавать объекты (которые mochijson2 хочет, чтобы вы называли структуры), строки, целые числа и массивы. Удачи!

4 голосов
/ 16 июня 2009

Я предлагаю прочитать / просмотреть / загрузить Начать разработку веб-приложений на Erlang

1 голос
/ 28 августа 2013

Вот эквивалентные команды 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]}">>).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...