使用下列JSON库:
http://www.lshift.net/blog/2007/02/17/json-and-json-rpc-for-erlang
该JSON库采用
Joe Armstrong prefered Data type mapping
即:
JSON Obj = type obj() = {obj, [{key(), val()}]}
JSON Array = type array() = [val()]
JSON Number = type num() = int() | float()
JSON String = type str() = bin()
JSON true false null = true, false null (atoms)
With Type val() = obj() | array() | num() | str() | true | false | null
and key() being a str(). (Or a binary or atom, during JSON encoding.)
测试如下:
Eshell V5.6.3 (abort with ^G)
1> O = rfc4627:encode({obj, [{name, hideto}, {age, 23}]}).
"{\"name\":\"hideto\",\"age\":23}"
2> rfc4627:decode(O).
{ok,{obj,[{"name",<<"hideto">>},{"age",23}]},[]}
3> A = rfc4627:encode([1,2,3,4,5]).
"[1,2,3,4,5]"
4> rfc4627:decode(A).
{ok,[1,2,3,4,5],[]}
5> N = rfc4627:encode(12345).
"12345"
6> rfc4627:decode(N).
{ok,12345,[]}
7> S = rfc4627:encode("12345").
"[49,50,51,52,53]"
8> rfc4627:decode(S).
{ok,"12345",[]}
9> T = rfc4627:encode(true).
"true"
10> rfc4627:decode(T).
{ok,true,[]}
11> F = rfc4627:encode(false).
"false"
12> rfc4627:decode(F).
{ok,false,[]}
13> Null = rfc4627:encode(null).
"null"
14> rfc4627:decode(Null).
{ok,null,[]}
分享到:
相关推荐
jsone:Erlang JSON库
erljson_bench 用于比较各种JSON编码/解码库的脚本图书馆比较ejson 瞬间json jsonx jsx mochijson2要求要执行这些基准测试,路径上必须有一个有效的erlang(erl和escript)。建立和运行要下载依赖项并进行编译: ...
Erlang Json模式验证器 该库寻求支持所有关于JSON对象的模式验证标准。 首先是简单性和完整性,然后是性能。 版权所有2018 Apache 2.0 支持的架构版本 杰森模式v3 杰森模式v4 图书馆要求 防止方案版本之间的断言...
杰西 jesse(JSON模式Erlang)是Erlang的JSON模式验证器的实现。 jesse实现了以下规范: Erlang API文件自动生成的文档可从。 请记住,公共API仅是jesse.erl模块。快速入门-CLI 您可以使用以下命令从CLI启动jesse ...
解析转换库embjson允许直接在 Erlang 源中使用 JSON 语法。 嵌入的 JSON 结构在编译过程中转换为 Erlang 术语。 生成的结构格式取决于自定义回调模块。 单元测试中的使用示例 使用 yaws json2 结构: -compile({...
具有直观HTTP / JSON API的无缝多主同步数据库,旨在提高可靠性健壮,无处不在且可大规模扩展的消息平台(XMPP,MQTT,SIP服务器) 对Erlang运行时系统ERTS和虚拟机BEAM的描述。 基于Erlang / OTP的分布式MQTT消息...
JoSSER 是 Erlang 中的一个库,用于从 Json 生成 Json Schema。 它实现了 [Draft 03] ( ) 的一部分。 它适用于 [jesse] ( )。 它仅支持 [jsx] ( )(目前)。 它支持“作为元数据的值”,这意味着 json 中的值...
基于优秀书籍 Erlang 和 OTP in Action 第 12 章中的 NIF 示例的简单 json 编码和解码。 这个实现的目的是在不丢失任何语义的情况下尽可能简洁地用 Erlang 术语表示 JSON。
视力概述这是一个基于的精神,用于检索和修改嵌套值的Erlang / OTP。 用于深层嵌套值的功能选择器是通过构成“光学”来构造的,每个“光学”都指定了一种专注于特定类型值的方法。 例如,假设我们有一个表示要修改...
yaws-json2 yaws-json2 是来自网络服务器的编码器/解码器。安装在 rebar.config 中: { yaws_json2 , " .* " , { git , " git://github.com/myua/yaws-json2 " , { tag , " master " }}}用法使用yaws_json2:decode_...
构建库并运行测试 $ rebar get-deps $ rebar compile $ rebar eunit 过滤json流 过滤json流 // JSON { "books" : [ { "title" : "a wrinkle in time" , "author" : "madeleine l'engel" , "editions" : [ 1962 ,...
石匠 一个OTP库 建造 $ rebar3 compile
Couchbeam-用于Erlang应用程序的简单Barrel和Apache CouchDB客户端库 版权所有(c)2009-2016BenoîtChesneau。 版本: 1.4.2 横梁 Couchbeam是或的简单erlang库。 Couchbeam为您提供了功能齐全且易于访问的客户端...
jesse(JSON模式Erlang)是Erlang的JSON模式验证器的实现。 jesse实现了以下规范: Erlang API文件 自动生成的文档可从。 请记住,公共API仅是jesse.erl模块。 快速入门-CLI 您可以使用以下命令从CLI启动jesse ...
###Dependencies(在构建过程中自动安装): 用于 HTTP 连接的牛仔考利布牧场Jiffy 用于 JSON 创建 使用 relx 包管理器构建。 ###构建说明cd 到提交的根目录键入“Make intro”以在 localhost:8081 上构建和运行...
胶合板 分层数据存储和检索服务器 ... 如果这最终不适合您,您可以尝试从 Erlang github 存储库进行源安装: 建造和运行胶合板 建造 CentOS 7 系统 Erlang 会很痛苦,使用 Erlang 解决方案: : De
使用 JWT 的 Phoenix Rest JSON API 示例 需要 Erlang、Elixir 和 postgres 要测试这一点: 克隆这个 repo 在新文件夹中,转到 restapp/config/dev.exs 并输入您的 postgres 数据库、用户名和密码。 还要在 ...
#NetSpec Haskell库可简化静态网络任务 某些联网任务的格式非常简单: 设置给定数量的连接和初始状态 循环直到满足某些条件 结束并关闭连接 NetSpec提供了一种指定和运行此类任务的简单方法,还提供了便捷功能! 并...
与JSON Web令牌(JWT)不同,JSON Web令牌为开发人员提供了足够多的绳索来挂起自己,而Paseto仅允许安全操作。 JWT给您“算法敏捷性”,Paseto给您“版本化协议”。 您不可能使用Paseto。 警告: JWT和Paseto都不是...
它是一个面向集合的,模式自由的文档型数据 库。 具体特点总结如下: (1)面向集合存储,易于存储对象类型的数据 (2)模式自由 (3)支持动态查询 (4)支持完全索引,包含内部对象 (5)支持复制和故障恢复 (6)...