如何从ErlangJSON获取特定值

如何从ErlangJSON获取特定值,erlang,Erlang,我从GCM得到了以下消息 {[ {<<"multicast_id">>,888}, {<<"success">>,0}, {<<"failure">>,1}, {<<"canonical_ids">>,0}, {<<"results">>, [ {

我从GCM得到了以下消息

{[
    {<<"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()]}

您尝试读取的任何示例代码..您应该尝试这些,