Search Erlang:如何在元组中找到子元组
我使用jsonerl在我的应用程序中解码请求正文。生成的元组如下所示:Search Erlang:如何在元组中找到子元组,search,erlang,key-value,Search,Erlang,Key Value,我使用jsonerl在我的应用程序中解码请求正文。生成的元组如下所示: { {<<"message">>,<<"Hello World">>}, {<<"users">>, [ { {<<"first_name">>,<<"Jules">>}, {<<"last
{
{<<"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”})。您将如何从中创建记录(因此一个记录列表用于用户,一个记录列表用于活动)?也许你能给我指一下正确的方向。提前谢谢