我正在处理一个(JavaScript / JQuery)项目,该项目要求我将数据保存为文件。
存储的数据是一个数组,通常不会成为问题,因为我只能将其存储为字符串,然后根据","分割字符串。再次加载数据。但是我需要存储的数组是一个其他数据数组的数组,其中一些数组有几层数组。
我最初的想法是运行一个函数,将每个数组转换为从最低级别开始的字符串,然后在每个条目之间添加某种标识符(例如' /////')将每个数据数组分开,并将它们用作检测Split函数的东西。然而,这使得数据的存储/加载非常复杂,我想知道是否有更好的方法来保存Javascript中的多层数组数据。
答案 0 :(得分:3)
您仍然可以将其另存为字符串,但序列化应该类似于JSON。
要转换为json(编码),请使用JSON.stringify。这将返回一个可以保存到文件的字符串:
var json_string = JSON.stringify(my_array);
然后,要解码文件中的字符串(阅读后),请使用JSON.parse
var my_array = JSON.parse(json_string);
答案 1 :(得分:1)
您可以使用JSON.stringify
将多级数组转换为字符串。然后您可以使用JSON.parse
将其转换回数组。获得字符串后,您可以保存并恢复它,并使用这些方法重新创建数组。
a = [1, 2, [3, 4, [5, 6, [7, 8], 9]]]
> [1, 2, Array[3]]
s = JSON.stringify(a)
> "[1,2,[3,4,[5,6,[7,8],9]]]"
a2 = JSON.parse(s)
> [1, 2, Array[3]]