如何从ErlangJSON获取特定值
我从GCM得到了以下消息如何从ErlangJSON获取特定值,erlang,Erlang,我从GCM得到了以下消息 {[ {<<"multicast_id">>,888}, {<<"success">>,0}, {<<"failure">>,1}, {<<"canonical_ids">>,0}, {<<"results">>, [ {
{[
{<<"multicast_id">>,888},
{<<"success">>,0},
{<<"failure">>,1},
{<<"canonical_ids">>,0},
{<<"results">>,
[
{
[
{<<"error">>,<<"NotRegistered">>}
]
}
]
}
]}
{[
{,888},
{,0},
{,1},
{,0},
{,
[
{
[
{,}
]
}
]
}
]}
我正在读“未注册”。但是我找不到一种阅读的方法
我怎么读“未注册”
我试过了
result_from(Json) ->
{
proplists:get_value(<<"multicast_id">>, Json),
proplists:get_value(<<"success">>, Json),
proplists:get_value(<<"failure">>, Json),
proplists:get_value(<<"canonical_ids">>, Json),
proplists:get_value(<<"results">>, Json)
}.
result\u from(Json)->
{
PropList:get_值(,Json),
PropList:get_值(,Json),
PropList:get_值(,Json),
PropList:get_值(,Json),
PropList:get_值(,Json)
}.
但我有个例外
0邻居的崩溃报告进程退出,原因为:否
函数子句匹配proplist:get_值(,{[{,888},{,0},{,1},{,…},…,…]},未定义)
p1_服务器中的第226行:终止/7第874行
首先,这不是JSON,而是大多数JSON库使用的一种数据结构,可以最好地进行JSON的转换。正式来说,这是一个包含一个元素的列表 出现此错误是因为get_value函数没有用于参数的子句,这意味着其中一个参数可能格式错误。错误是正确的,因为Json参数的类型是错误的 Json变量不是proplist。将结构转换为(道具)列表,如下所示:
{List} = Json,
然后将其用作proplist:get_value的第二个参数
第二个参数必须是类型为
[property()]
的ie列表,但您提供的是{[property()]}
。您尝试读取的任何示例代码..您应该尝试这些,