1

如何将字符串转换为数组

<cfscript>
    stResult = {    strData = "[1,2,3,4,5,6]"
                 ,  arInstant = [1,2,3,4,5,6]
               };

    //stResult.arData = evaluate(stResult.strData);  // this does not work
    //stResult.arData = evaluate("#stResult.strData#"); // nor does this

    writedump(stResult);
</cfscript>

我正在尝试获得看起来像 arInstant 的东西。

有没有比条带化[]、转换为列表、然后转换为数组更好的方法?

4

3 回答 3

4

您的数据是JSON字符串,因此请使用deserializeJson ()将其转换为数组。

用法:

Result.Data = deserializeJson(Result.Input);
于 2012-11-28T17:01:26.220 回答
2

evaluate() 通常应该避免(参考:1 , 2 , 3)。试试怎么样:

stResult.arData = ListToArray(stResult.strData, "[],");

这将整个字符串视为一个列表,可能带有[and]和 and的分隔符,

它应该为您提供一个包含 6 个元素的数组。

当然,看起来你stResult.arInstant已经拥有了你需要的东西……你想做什么?

于 2012-11-27T21:09:24.307 回答
0

对于这个特定的问题,“

有没有比条带化 []、转换为列表、然后转换为数组更好的方法?”

实际上,一旦去掉方括号,它就是一个列表,因此少了一步。

于 2012-11-27T22:40:40.403 回答