2015-09-05 22 views
0

我正在运行memcached的本地实例,并使用3rd-Eden memcached库与它接口。缓存用于存储一些JSON数据,但有时我想将新字段添加到对象中,因为只有所需的信息被推送到内存中,所以我所做的是创建包含新字段的新JSON对象,如下所示:3rd-Eden memcached附加JSON数据

var obj = { 
    bio: "blah" 
} 

然后致电memcached.append(key, obj, callback_here)。问题是,这个对象级联到前一个无效的JSON,所以当我尝试检索存储的数据,我收到以下错误信息:

[{"service":"service1","id":"abc"},{"service":"service2","id":"zed"}]}{"bio":"bl 
                   ^
SyntaxError: Unexpected token { 

我知道我可以重新上传全新的对象,但这种方式似乎更有效率。

回答

0

据我所知,追加函数将字符串附加到存储的值,因为它无法处理任何其他数据类型。因此,当您追加时,您必须对该值执行JSON.stringify()并添加创建有效JSON所需的任何逗号。

我亲自获取并重新设置整个对象,如果我想对其进行更改。

希望帮助:)

+0

你可能是对的。我在这里也是这样做的,但是我正在使用[merge](https://www.npmjs.com/package/merge)包来处理对象合并。 – lfelix