Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 JSON-in-Action脚本:如何获取JSON对象的属性和值?_Actionscript 3_Json - Fatal编程技术网

Actionscript 3 JSON-in-Action脚本:如何获取JSON对象的属性和值?

Actionscript 3 JSON-in-Action脚本:如何获取JSON对象的属性和值?,actionscript-3,json,Actionscript 3,Json,假设我有这个JSON,假设属性可能会改变 '{"srcLocation":"pc","filename":"name","fileext":"jpg","url":""}'; 首先,我想获取它们的所有属性(srclosition、filename等) 使用我得到的属性,我想得到相应的值 如何在动作脚本中实现这一点?首先,您需要解码JSON,可能需要使用: 然后,您所要做的就是在对象中循环以获得所有名称/值对: for(var key:String in decodedObj) { tr

假设我有这个JSON,假设属性可能会改变

'{"srcLocation":"pc","filename":"name","fileext":"jpg","url":""}';
首先,我想获取它们的所有属性(srclosition、filename等) 使用我得到的属性,我想得到相应的值


如何在动作脚本中实现这一点?

首先,您需要解码JSON,可能需要使用:

然后,您所要做的就是在对象中循环以获得所有名称/值对:

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:

首先,应该使用URLLoader加载JSON文件,然后将数据解码为对象 在那之后,你将能够得到相应的属性值 对象:

有关更多帮助,请访问此链接:

我建议您使用Adobe的原生JSON解码。

这段代码非常完美!非常感谢!!!还有一个问题。。。如果我想更改它的值,会解码dobj[key]=“new value”会将新值保存在JSON对象上吗?谢谢不,但您可以随时使用
JSON.encode(decodedObj)重新编码对象
Name: srcLocation - Value: pc
Name: filename - Value: name
Name: fileext - Value: jpg
Name: url - Value:
        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);              
        }