首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二郎:如何在元组中找到子元组?

二郎:如何在元组中找到子元组?
EN

Stack Overflow用户
提问于 2013-12-17 08:42:31
回答 2查看 407关注 0票数 0

我使用jsonerl在我的应用程序中解码请求体。生成的元组如下所示:

代码语言:javascript
复制
{
    {<<"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}
        }
    ]},
}

当然,子元组的顺序是未知的。

我想把用户列表交给一个函数来创建一个记录列表。我如何才能访问这些元组中的列表。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-17 10:09:49

试试这个:

代码语言:javascript
复制
{_, ListOfUsers} = lists:keyfind(<<"users">>, 1, tuple_to_list(YourListOfUsers)).
票数 2
EN

Stack Overflow用户

发布于 2013-12-17 09:34:36

你是说像这样的模式匹配吗?

代码语言:javascript
复制
{ _ , { _ , ListOfUsers } } = YourListOfUsers.

但如果你是说:

当然,子管的顺序是未知的。

用户元组有时会首先出现,然后以前的代码片段就无法工作了。您应该在结果元组中强制执行某种结构。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20629498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档