简单的Parse.com本地存储解决方案



有人能为Javascript项目将Parse.com objects存储到localStorage中吗?

我遇到的问题是,在转换object to JSON时,我们会丢失对象的id。这是因为Parse.com objects中的id没有存储在属性中
给我一些提示
提前感谢。

更新我的小例子

var Something = Parse.Object.extend("Something");
var something = new Something();
something.set("attribute1", "attribute1");
something.save(null, {
        success: function(obj) {
            something.fetch({
                success: function(obj) {
                    console.log("object:"); console.log(obj); 
                    console.log("json:");     console.log(JSON.stringify(obj));
                },
            })
        },
    })

哪个输出:

object: appmob.js:1563
d.hasOwnProperty.f
_changing: false
_escapedAttributes: Object
_existed: true
_hasData: true
_hashedJSON: Object
_opSetQueue: Array[1]
_pending: Object
_previousAttributes: Object
_saving: false
_serverData: Object
_silent: Object
attributes: Object
changed: Object
cid: "c0"
createdAt: Mon Sep 03 2012 15:43:50 GMT+1000 (EST)
id: "e419YJmhR5"
updatedAt: Mon Sep 03 2012 15:43:50 GMT+1000 (EST)
__proto__: c

**其具有id。

json: 
{"attribute1":"attribute1","attribute2":"attribute2"} 

**它没有id。

这与stackoverflow问题有关主干模型.toJSON()没有';t将所有属性呈现为JSON

所以我想知道将JSON字符串存储到本地存储中最简单的方法是什么。

您可能有兴趣了解Parse对他们的JS SDK:所做的更新

v1.11.10——2012年11月13日

Parse.Object的扩展JSON序列化:在Parse.Object上调用JSON.stringify()现在将在输出中包括默认属性"objectId"、"createAt"one_answers"updatedAt"。

好的,根据我的判断(见上面的评论),用于Parse的原生JS API假设你只想序列化对象的属性(即核心数据),而不是实际的元数据,包括ID,创建的等等。由于他们真的希望你只在他们的系统上存储东西,这是有意义的。但是,您可以编写自己的代码来自行处理此问题。例如,下面的方法获取两个元数据键(id和createdAt,还有更多,但我只是在测试),并为核心属性创建一个名为"data"的键。

function serializeParseObject(pob) {
  var ob = {};
  ob.id = pob.id;
  ob.createdAt = pob.createdAt;
  ob.data = pob.attributes;
  return JSON.stringify(ob);
}

我在一个示例结果对象中测试了它,它运行良好。不过为了完整性,您可能还想添加其他元数据键。(或者你可能只关心id。)

最新更新