Javascript:将关联数组转换为字符串并在以后以另一种方式返回的最佳方法?

Javascript:将关联数组转换为字符串并在以后以另一种方式返回的最佳方法?,javascript,arrays,associative-array,Javascript,Arrays,Associative Array,我有一个关联数组,如下所示: var AssocArray = { id:0, folder:'Next', text:'Apple' }; 现在我需要将其存储在数据库中,所以我想我只需将其转换为字符串,存储在数据库中,然后将其从数据库中取出,稍后将其放回javascript数组中 问题是实际的#项和数组变量每次都会不同(因此我想将其存储为一个长字符串) 将此关联数组转换为字符串的最佳方法是什么,反之亦然,如何将字符串转换为关联数组?没有比这更好的方法了: 顺便说一句,在JavaScript中

我有一个关联数组,如下所示:

var AssocArray = { id:0, folder:'Next', text:'Apple' };
现在我需要将其存储在数据库中,所以我想我只需将其转换为字符串,存储在数据库中,然后将其从数据库中取出,稍后将其放回javascript数组中

问题是实际的#项和数组变量每次都会不同(因此我想将其存储为一个长字符串)


将此关联数组转换为字符串的最佳方法是什么,反之亦然,如何将字符串转换为关联数组?

没有比这更好的方法了:


顺便说一句,在JavaScript中,所有对象都是关联数组。要明确术语,JS不像PHP那样有关联数组。代码显示的是一个具有属性的对象。就语言而言,这个JS更接近
$obj=new stdClass()$obj->id=0。您通常可以来回转换它们,但称它们为关联数组是不正确的。@loganfsmyth在JavaScript中,所有对象都是事实上的关联数组,不是吗?ECMAScript规范中没有使用术语“关联数组”,但按照规范对象的方式,实际上它们是关联数组。@ŠimeVidas,我只是认为像关联数组这样考虑JS对象可能会导致逻辑错误,通常会使人们更容易编写中断的代码。在处理对象时,您总是需要考虑原型链,而将对象视为键->值对的平面存储忽略了这一点。@loganfsmyth是的。说得好。
var str = JSON.stringify(obj);
// >> "{"id":0,"folder":"Next","text":"Apple"}"

var obj = JSON.parse(str);
// >> Object({ id: 0, folder: "Next", text: "Apple" })