如何解析"访问未定义的属性JSON?"

时间:2017-02-02 18:10:32

标签: json actionscript-3 flex mxmlc

这应该很简单,但谷歌让我失望(更有可能我没有好好地问它)。

使用FlexBuilder 3,我只是添加了代码来做一些JSON的东西。当我从FlexBuilder编译/调试时,一切都很棒。当我尝试使用MXMLC进行编译时,我得到错误"访问未定义的属性JSON。"

一些细节;

在FlexBuilder中,我使用的是SDK - Flex 3.5。

编译命令行是:

mxmlc -load-externs=report.xml -warnings=false myModule.mxml

模块中的导入是:

import com.adobe.serialization.json.JSON;

我怀疑它是一个我需要包含在命令行中的库,但它让我望而却步。

2 个答案:

答案 0 :(得分:2)

先生。幻影让我弄明白了这个谜。我在FlexBuilder的库路径中已经有了as3corelib swc文件,并且在系统的主应用程序的编译中,但我没有在模块的编译中使用它,这是一个。

当我最初尝试修复它时,我使用了;

public String stringYak(String str) {
  String result = "";

  for (int i=0; i<str.length(); i++) {
    // Look for i starting a "yak" -- advance i in that case
    if (i+2<str.length() && str.charAt(i)=='y' && str.charAt(i+2)=='k') {
      i =  i + 2;
    } else { // Otherwise do the normal append
      result = result + str.charAt(i);
    }
  }

  return result;
}

导致其他错误,当我将其更改为;

-library-path="I:\MyApp\libs"

一切都在游泳。请注意&#34; +&#34;在&#34; =&#34;。

之前

答案 1 :(得分:1)

几年前,ActionScript 3标准库没有包含本机JSON解析器,我们不得不手动导入外部JSON解析器。如今,AS3标准库有一个预制的,几乎完全相同。

您有两种选择:

  1. 下载as3corelib swc并将其放入项目内的libs文件夹中。

  2. 将最新版本的AIR SDK叠加到Flex SDK中。

  3. 对于第二步,您需要从here下载AIR SDK,对下载的版本要非常小心。您需要下载适用于Flex开发人员的AIR SDK。

    您的Flex SDK位于安装Flex Builder的sdks文件夹中。

    下载后,将其解压缩并将其所有内容与Flex SDK文件夹合并(如果要求覆盖,请选择是)。

    如果出现问题,请不要忘记备份Flex SDK。

相关问题