【问题标题】:Parse json string that carries a collection of objects in actionscript using Json.parse使用 Json.parse 解析在 actionscript 中携带对象集合的 json 字符串
【发布时间】:2013-10-03 21:05:13
【问题描述】:

我在使用 JSON.parse(...) 解析 json 字符串时遇到错误

var str:String= '[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3", "BB":"14"}]';
var propertySets:Object = JSON.parse(str);

我可以说我在构造 JSON 字符串时遇到了语法错误,但在放弃之前我已经尝试了很多东西。任何有关如何处理集合的帮助都会很棒。

以下简单案例对我有用

var str:String= '{"test":"line1"}';
var propertySets:Object = JSON.parse(str);

谢谢

【问题讨论】:

  • JSON.parse('[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3", "BB":"14"}]') 在 JS 控制台中运行良好
  • 你能告诉使用你得到的错误吗?我想说,因为这是一个列表,所以在列表周围添加一个包装器,这样在解析 json 之后,您可以调用 propertySets.listOfObjects
  • 我的错。这一下子就很好用了。为虚假电话道歉; FlashBuilder 中的项目本身有问题。感谢您对 JS 控制台位的帮助。
  • 您应该关闭您的问题,因为 SO 会蓬勃发展以保持所有问题的回答 :)

标签: json actionscript-3 apache-flex actionscript


【解决方案1】:

JSON 字符串中的语法是正确的。它的格式化方式将从 JSON.parse() 返回一个 Array 实例。以下代码适用于我:

var str:String = '[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3", "BB":"14"}]';
var propertySets:Array = JSON.parse(str) as Array;

trace(propertySets[0].AA); // prints "A1"
trace(propertySets[0].BB); // prints "32"

【讨论】:

    【解决方案2】:

    因为我不知道动作脚本,所以在黑暗中拍摄,但尝试将数组包装在一个对象中

    var str:String= '{"objectArray":[{"AA":"A1", "BB":"32"}, {"AA":"A2", "BB":"12"}, {"AA":"A3","BB":"14"}]}';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多