【问题标题】:create a JSON file and save into disk创建一个 JSON 文件并保存到磁盘
【发布时间】:2013-02-08 08:22:49
【问题描述】:

如何为任何对象创建 JSON 文件并将其保存在磁盘上。几天后找回来?

【问题讨论】:

    标签: actionscript-3 apache-flex flex4.6 flexjson


    【解决方案1】:

    写入共享对象

    var so:SharedObject = SharedObject.getLocal("mySharedObject");
    so.data.storedJSON = myJSON;
    so.flush();
    

    在别处取回它

    var so:SharedObject = SharedObject.getLocal("mySharedObject");
    myJSON = so.data.storedJSON;
    

    转换为字节数组

    保存

    阅读此文档:registerClassAlias

    registerClassAlias("com.myDomain", MyClass);
    var myClass:MyClass = new MyClass();
    var ba:ByteArray = new ByteArray();
    ba.writeObject(myClass);
    so.data.byteArray = ba;
    ba.position = 0;
    

    阅读

    myClass = so.data.byteArray.readObject();
    

    【讨论】:

    • 但是cookies不是永久存储的。如何保存在一些UiObject的数据库中并取回?
    • 好的,我修改了。使用 SharedObject 的方法。请查看。
    • 不是很好理解。再清楚一点,让我们知道。你想保存 UIComponets?
    • so.data.object 表单无法在 UIForm 中为 UIComponents 转换。
    • 我几天前问了一个问题并实施了这个问题,但我无法在同一个班级中提出异议..stackoverflow.com/questions/14135313/…
    【解决方案2】:

    使用共享对象。阅读他们here

    【讨论】:

    • 我使用了 sharedOject 类,但以行形式从 amf 文件中检索数据。我无法将此对象转换为 DisplayObjects。
    • 你不能JSON.serialize()一个DisplayObject,这很正常。它们包含过多的链接,如果您保存然后加载 DisplayObject,则会失去数据完整性。所以,你有另一个问题,解决方案是IExternalizable,它需要很多代码,但可以让你保存整个数据结构,然后逐个对象地恢复它。
    猜你喜欢
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 2013-12-19
    • 2010-09-23
    • 2010-11-08
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多