1

私は以下のようなデータを持っています:

Data = [{<<"status">>,<<"success">>},
       {<<"META">>,
       {struct,[{<<"createdat">>,1406895903.0},
       {<<"user_email">>,<<"gopikrishnajonnada@gmail.com">>},
       {<<"campaign">>,<<"5IVUPHE42HP1NEYvKb7qSvpX2Cm">>}]}},
       {<<"mode">>,1}]

そして今、私は

FieldList = ['<<"5IVUPHE42HP1NEYvKb7qSvpX2Cm">>']

今:

以下のようにしようとしていますが、値の代わりに空になっています

90> [L || L <- FieldList,proplists:get_value(<<"campaign">>,element(2,proplists:get_value(<<"META">>,Data,{[],[]}))) == L].
[]

したがって、両方の値を取得して最終値を取得する方法は同じです。

4

3 に答える 3

0
-module(wy).
-compile(export_all).

main() ->
    Data = [{<<"status">>,<<"success">>},
        {<<"META">>,
         {struct,[{<<"createdat">>,1406895903.0},
              {<<"user_email">>,<<"gopikrishnajonnada@gmail.com">>},
              {<<"campaign">>,<<"5IVUPHE42HP1NEYvKb7qSvpX2Cm">>}]
         }
        },
        {<<"mode">>,1}],
    Fun = fun({<<"META">>, {struct, InData}}, Acc) ->
          Value =  proplists:get_value(<<"campaign">>, InData, []),
          [Value | Acc];
         (_Other, Acc)->
          Acc
      end,
    lists:foldl(Fun, [], Data).

このコードを使用できると思います。

于 2014-08-13T01:12:02.247 に答える