0

mochijson2 を使用して JSON データをデコードした後、この構造化 proplist を取得します。

 {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, [{<<"symbol">>,<<"YHOO">>}] ... などに到達し、そこからデータを取り出したいと考えています。ここまで来ましたが、なかなか抜け出せません。どんな助けでも大歓迎です!

Struct = mochijson2:decode(Body), Struct,
{struct, JsonData} = Struct,
{struct, Symbol} = proplists:get_value(<<"query">>, JsonData),
{struct, New} = proplists:get_value(<<"results">>, Symbol),
{struct, New1} = proplists:get_value(<<"quote">>, New),
 Id = proplists:get_value(<<"symbol">>, New1),
 Id.
4

2 に答える 2

0

なぜmochijson2? https://github.com/talentdeficit/jsxを試してみてください。非常にシンプルで、atom 構造体を作成しないため、proplist が作成されるため、パターン マッチングが容易になります (文字数が少なくなります)。

于 2013-11-09T13:05:12.503 に答える
0

表現

{struct, New1} = proplists:get_value(<<"quote">>, New),

不適切な一致が含まれています。正しくそう:

[{struct, New1}] = proplists:get_value(<<"quote">>, New),
于 2013-11-08T21:41:01.273 に答える