将数组数据存储为文本文件中的String的最佳方法?

时间:2016-06-13 12:47:03

标签: javascript jquery arrays

我正在处理一个(JavaScript / JQuery)项目,该项目要求我将数据保存为文件。

存储的数据是一个数组,通常不会成为问题,因为我只能将其存储为字符串,然后根据","分割字符串。再次加载数据。但是我需要存储的数组是一个其他数据数组的数组,其中一些数组有几层数组。

我最初的想法是运行一个函数,将每个数组转换为从最低级别开始的字符串,然后在每个条目之间添加某种标识符(例如' /////')将每个数据数组分开,并将它们用作检测Split函数的东西。然而,这使得数据的存储/加载非常复杂,我想知道是否有更好的方法来保存Javascript中的多层数组数据。

2 个答案:

答案 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]]