Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Erlang:如何在元组中找到子元组_Search_Erlang_Key Value - Fatal编程技术网

Search Erlang:如何在元组中找到子元组

Search Erlang:如何在元组中找到子元组,search,erlang,key-value,Search,Erlang,Key Value,我使用jsonerl在我的应用程序中解码请求正文。生成的元组如下所示: { {<<"message">>,<<"Hello World">>}, {<<"users">>, [ { {<<"first_name">>,<<"Jules">>}, {<<"last

我使用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}
        }
    ]},
}
{
{,},             
{, [
{
{,},
{,},
{,1}
},
{
{,},
{,},
{,2}
}
]},
{, [
{
{,},
{,1}
},
{
{,},
{,2}
}
]},
}
当然,子元组的顺序是未知的

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


提前谢谢

你是说这样的模式匹配吗

{ _ , { _ , ListOfUsers } } = YourListOfUsers.
但如果你的意思是:

当然,子图的顺序是未知的


用户元组有时会先出现,然后前面的代码片段就不起作用了。您应该在结果元组中强制某种结构。

您的意思是这样的模式匹配

{ _ , { _ , ListOfUsers } } = YourListOfUsers.
但如果你的意思是:

当然,子图的顺序是未知的


用户元组有时会先出现,然后前面的代码片段就不起作用了。您应该在结果元组中强制某种结构。

您的意思是这样的模式匹配

{ _ , { _ , ListOfUsers } } = YourListOfUsers.
但如果你的意思是:

当然,子图的顺序是未知的


用户元组有时会先出现,然后前面的代码片段就不起作用了。您应该在结果元组中强制某种结构。

您的意思是这样的模式匹配

{ _ , { _ , ListOfUsers } } = YourListOfUsers.
但如果你的意思是:

当然,子图的顺序是未知的

用户元组有时会先出现,然后前面的代码片段就不起作用了。您应该在结果元组中强制某种结构。

尝试以下方法:

{_, ListOfUsers} = lists:keyfind(<<"users">>, 1, tuple_to_list(YourListOfUsers)).
{uu,ListOfUsers}=lists:keyfind(,1,tuple-to-u-list(yourlisttofusers))。
试试这个:

{_, ListOfUsers} = lists:keyfind(<<"users">>, 1, tuple_to_list(YourListOfUsers)).
{uu,ListOfUsers}=lists:keyfind(,1,tuple-to-u-list(yourlisttofusers))。
试试这个:

{_, ListOfUsers} = lists:keyfind(<<"users">>, 1, tuple_to_list(YourListOfUsers)).
{uu,ListOfUsers}=lists:keyfind(,1,tuple-to-u-list(yourlisttofusers))。
试试这个:

{_, ListOfUsers} = lists:keyfind(<<"users">>, 1, tuple_to_list(YourListOfUsers)).
{uu,ListOfUsers}=lists:keyfind(,1,tuple-to-u-list(yourlisttofusers))。


在上面的示例中,它是有效的,但在我的例子中,用户tupel并不是唯一一个后面有列表的。我将编辑我的问题。@Stoecki所以有时候用户元组在活动元组之后?是的,这取决于不同应用程序的序列化。所以我们不能假设,订单是fixed@Stoecki这很难。您应该强制执行某种已知顺序以使用键值数据结构。Erlang中的Maps数据结构是JSON的最佳用途,但它在R17中可用。让我们假设传入的请求具有如上所述的JSON(只需将二进制文件切换为JSON键:{,}becones{“first_name”:“Jules”})。您将如何从中创建记录(因此一个记录列表用于用户,一个记录列表用于活动)?也许你能给我指一下正确的方向。在上面的例子中,它可以工作,但在我的例子中,用户tupel并不是唯一一个后面有列表的。我将编辑我的问题。@Stoecki所以有时候用户元组在活动元组之后?是的,这取决于不同应用程序的序列化。所以我们不能假设,订单是fixed@Stoecki这很难。您应该强制执行某种已知顺序以使用键值数据结构。Erlang中的Maps数据结构是JSON的最佳用途,但它在R17中可用。让我们假设传入的请求具有如上所述的JSON(只需将二进制文件切换为JSON键:{,}becones{“first_name”:“Jules”})。您将如何从中创建记录(因此一个记录列表用于用户,一个记录列表用于活动)?也许你能给我指一下正确的方向。在上面的例子中,它可以工作,但在我的例子中,用户tupel并不是唯一一个后面有列表的。我将编辑我的问题。@Stoecki所以有时候用户元组在活动元组之后?是的,这取决于不同应用程序的序列化。所以我们不能假设,订单是fixed@Stoecki这很难。您应该强制执行某种已知顺序以使用键值数据结构。Erlang中的Maps数据结构是JSON的最佳用途,但它在R17中可用。让我们假设传入的请求具有如上所述的JSON(只需将二进制文件切换为JSON键:{,}becones{“first_name”:“Jules”})。您将如何从中创建记录(因此一个记录列表用于用户,一个记录列表用于活动)?也许你能给我指一下正确的方向。在上面的例子中,它可以工作,但在我的例子中,用户tupel并不是唯一一个后面有列表的。我将编辑我的问题。@Stoecki所以有时候用户元组在活动元组之后?是的,这取决于不同应用程序的序列化。所以我们不能假设,订单是fixed@Stoecki这很难。您应该强制执行某种已知顺序以使用键值数据结构。Erlang中的Maps数据结构是JSON的最佳用途,但它在R17中可用。让我们假设传入的请求具有如上所述的JSON(只需将二进制文件切换为JSON键:{,}becones{“first_name”:“Jules”})。您将如何从中创建记录(因此一个记录列表用于用户,一个记录列表用于活动)?也许你能给我指一下正确的方向。提前谢谢