Question

Je suis un bébé de deux semaines en ce qui concerne Erlang et Mochiweb. Auparavant, j'avais un système fonctionnant sous PHP et je me suis vite rendu compte qu'il ne pourrait pas supporter le type de charge que j'attendais. J'ai donc décidé de basculer le backend sur un serveur basé sur Mochiweb. Pour le moment, je dois savoir comment implémenter JSON avec Mochiweb. Je suis parfaitement conscient de l'existence de la bibliothèque mochijson2, mais étant débutant, je ne peux pas me débrouiller pour comprendre comment l'utiliser. Quelqu'un pourrait-il m'indiquer un endroit où je peux trouver des exemples d'utilisation de cette bibliothèque ou de toute autre bibliothèque Json à erlang?

Était-ce utile?

La solution

L'API mochijson2 comprend essentiellement deux fonctions qui (si vous avez téléchargé mochiweb) peuvent être utilisées directement à partir du shell Erlang comme suit:

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]">>

Certains cas de test au bas de mochiweb / src / mochijson2.erl pourraient également être utiles pour comprendre le mappage des termes JSON et des termes d'Erlang.

Autres conseils

Oui, j'ai dû passer beaucoup de temps dans le code source pour comprendre ce qui se passait. En fait, cela décrit beaucoup de mon expérience avec Erlang. Cela m'a permis de générer le JSON dont j'ai besoin. Voici un exemple rapide.

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

Ainsi, dans cet exemple, vous pouvez voir comment créer des objets (que mochijson2 veut que vous appeliez des structures), des chaînes, des entiers et des tableaux. Bonne chance!

Je suggère de lire / regarder / télécharger Commencer à développer des applications Web sur Erlang

Voici les commandes erlang équivalentes au commentaire de @ 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]}">>).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top