在AS3中,我想用URLLoader加载文件文本。在文件文本中,我有以下字符串:
{a:1,b:"string",c:["one","two"]}
是否可以(一旦加载)将其转换为对象?
答案 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();