将加载的字符串转换为Object

时间:2011-09-06 17:02:05

标签: actionscript-3

在AS3中,我想用URLLoader加载文件文本。在文件文本中,我有以下字符串:

{a:1,b:"string",c:["one","two"]}

是否可以(一旦加载)将其转换为对象?

3 个答案:

答案 0 :(得分:1)

语言中没有内置的反序列化器,没有。但是,如果您的文本文件符合JSON标准,那么您可以使用JSON解析器为您进行转换:http://code.google.com/p/as3corelib/source/browse/#svn%2Ftrunk%2Fsrc%2Fcom%2Fadobe%2Fserialization%2Fjson

或者,如果您不能遵守JSON,您可以随时编写自己的反序列化器。

答案 1 :(得分:0)

您需要的是评估字符串以创建对象 这是在javascript和AS2中本地完成的。但AS3不支持此功能 但一切都不会丢失。 Hurlant的人们已经创建了一个库,它“几乎”与原生JavaScript一样好 这是一个很好的example And another library example using d.eval

我想指出的是,如果您接受了从中创建JSON对象的对象字符串的源代码。使用JSON库通常比使用Eval的库更容易,更可靠。

答案 2 :(得分:0)

你的字符串是JSON格式的刺痛。使用JSONDecoder将其解码为Object,如下所示:

var dc:JSONDecoder = new JSONDecoder("{a:1,b:'string',c:['one','two']}");
var ob:Object = dc.getValue();