认为我有这个JSON,以为属性可能会改变......Action中的JSON脚本:如何获取JSON对象上的属性和值?
'{"srcLocation":"pc","filename":"name","fileext":"jpg","url":""}';
首先我想对他们(srcLocation,文件名等) 所有属性,并使用我的属性我想得到相应的值..
我该如何在动作脚本中做到这一点?
认为我有这个JSON,以为属性可能会改变......Action中的JSON脚本:如何获取JSON对象上的属性和值?
'{"srcLocation":"pc","filename":"name","fileext":"jpg","url":""}';
首先我想对他们(srcLocation,文件名等) 所有属性,并使用我的属性我想得到相应的值..
我该如何在动作脚本中做到这一点?
所有你需要的JSON解码,首先可能使用as3corelib:
var jsonString:String = '{"srcLocation":"pc","filename":"name","fileext":"jpg","url":""}';
var decodedObj:Object = JSON.decode(jsonString);
然后,所有你需要做的就是遍历对象来获取所有的名称/值对:
for(var key:String in decodedObj) {
trace("Name: " + key + " - Value: " + decodedObj[key];
}
这将输出:
Name: srcLocation - Value: pc
Name: filename - Value: name
Name: fileext - Value: jpg
Name: url - Value:
首先,你应该使用加载的URLLoa JSON文件DER然后将数据解码为对象 之后,你就可以得到那个 对象的属性的相应值:
var myRequest:URLRequest = new URLRequest("Your JSON file Name");
var myLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, onload);
myLoader.load(myRequest);
function onload(evt:Event):void
{
var myData:Object = JSON.decode(myLoader.data);
trace(myData.firstName);
trace(myData.job);
trace(myData.age);
}
任何进一步的帮助,请通过此链接: http://swati61.blogspot.com/2011/06/json-and-as3-communication.html
我建议你使用Adobe的Native JSON解码。
此代码是完美的!非常感谢!!!另一个问题...如果我想改变它的值将decodeObj [key] =“新值”将保存在JSON对象上的新值?谢谢! –
不,但你可以在任何时候用'JSON.encode(decodedObj)'重新编码你的对象;' – shanethehat
我明白了......非常感谢! –