Erlang,嵌套的JSON对象

时间:2013-11-08 14:42:48

标签: json parsing erlang

在用mochijson2解码JSON之后,我最终得到了这个(样本结果)

{struct,
[{<<"query">>,
  {struct,
      [{<<"count">>,4},
       {<<"created">>,<<"2013-11-08T18:33:07Z">>},
       {<<"lang">>,<<"en-US">>},
       {<<"results">>,
        {struct,
            [{<<"quote">>,
              [{struct,
                   [{<<"symbol">>,<<"YHOO">>},
                    {<<"Ask">>,<<"32.99">>},
                    {<<"AverageDailyVolu"...>>,<<"18383000">>},
                    {<<"Bid">>,<<"32.98">>},
                    {<<"AskRealt"...>>,<<"32.9"...>>},
                    {<<"BidR"...>>,<<...>>},
                    {<<...>>,...},
                    {...}|...]},

我现在正试图从变量“符号”,“询问”等获取信息。但我无法弄清楚如何获得他们的信息。我尝试使用支持者这样做,这是我得到了多远:

{struct, JsonData} = Struct,
{struct, Ask} = proplists:get_value(<<"Ask">>, JsonData),
Key = proplists:get_value(<<"Ask">>, Ask),
Key.

感谢@legoscia的帮助

1 个答案:

答案 0 :(得分:0)

试试这个:

{ok, {{_, 200, _}, _Headers, Body}} = httpc:request(get, {"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json",[]},[],[]),

然后你将在Body变量中得到响应,这就是你需要传递给mochijson的内容。

相关问题