我使用jsonerl在我的应用程序中解码请求体。生成的元组如下所示:
{
{<<"message">>,<<"Hello World">>},
{<<"users">>, [
{
{<<"first_name">>,<<"Jules">>},
{<<"last_name">>,<<"Winfield">>},
{<<"id">>,1}
},
{
{<<"first_name">>,<<"Vincent">>},
{<<"last_name">>,<<"Vega">>},
{<<"id">>,2}
}
]},
{<<"activities">>, [
{
{<<"type">>,<<"fetching bag">>},
{<<"user_id">>,1}
},
{
{<<"type">>,<<"discussing metrical system">>},
{<<"user_id">>,2}
}
]},
}当然,子元组的顺序是未知的。
我想把用户列表交给一个函数来创建一个记录列表。我如何才能访问这些元组中的列表。
提前感谢
发布于 2013-12-17 10:09:49
试试这个:
{_, ListOfUsers} = lists:keyfind(<<"users">>, 1, tuple_to_list(YourListOfUsers)).发布于 2013-12-17 09:34:36
你是说像这样的模式匹配吗?
{ _ , { _ , ListOfUsers } } = YourListOfUsers.但如果你是说:
当然,子管的顺序是未知的。
用户元组有时会首先出现,然后以前的代码片段就无法工作了。您应该在结果元组中强制执行某种结构。
https://stackoverflow.com/questions/20629498
复制相似问题