我有一个字符串:
oauth_token=xxxxxxxxxxx&oauth_token_secret=xxxxxxxxxxx&oauth_callback_confirmed=true
我想将这些值提取为三个变量。
您能否建议ColdFusion中最简单的方法?
答案 0 :(得分:6)
@Dan Bracuk很接近,这会做你想要的。
<cfset myString = "oauth_token=xxxxxxxxxxx&oauth_token_secret=xxxxxxxxxxx&oauth_callback_confirmed=true">
<cfloop list="#myString#" index="pair" delimiters="&">
<cfset myStruct[ListFirst(pair, "=")] = ListLast(pair, "=")>
</cfloop>
<cfdump var="#myStruct#">
答案 1 :(得分:1)
我会尝试这样的事情:
<cfloop
list = "oauth_token=xxxxxxx&oauth_token_secret=xxxxx&oauth_callback_confirmed=true"
index="pair" delimiter="&">
<cfset ListFirst(pair, "=") = ListLast(pair, "=")>
</cfloop>
我不确定它是否有效,但值得一试。
答案 2 :(得分:0)
接受的解决方案还有另一种选择:
<cfset t = "oauth_token=abc&oauth_token_secret=def&oauth_callback_confirmed=true">
<cfset oauth_token = ListGetAt(ListGetAt(t,1,"&"),2,"=")>
<cfset oauth_token_secret = ListGetAt(ListGetAt(t,2,"&"),2,"=")>
<cfset oauth_callback_confirmed = ListGetAt(ListGetAt(t,3,"&"),2,"=")>