在javascript中为javascript存储数组
Storing arrays in javascript for javascript
我看过很多关于如何从javascript序列化数组以发送给PHP文件的文章,然后PHP文件将反序列化回数组,等等…
我有一个大嵌套的关联数组在我的javascript,我需要保存到一个字符串,并在以后的日期检索和转换回字符串在javascript。其他程序都不会碰这个。如果序列化的数据是人类可读的,这可能很方便,但这绝对不是必需的。
有一个中间PHP文件,但它只有4行长:它所做的就是将字符串保存到一个文件中,并在请求时将其发送回来。我对在PHP中解析数组不感兴趣。
将javascript中的多嵌套关联数组转换为字符串并再次返回的最快和最简单的方法是什么?
JSON是JavaScript语言的一个子集,它被广泛用作序列化格式,不仅用于JavaScript,而且越来越多地用于其他语言。它是人类可读的,除了大多数实现删除了可选的空白,这使得它有点困难。
现代浏览器对JSON的支持是开箱即用的,对于旧的浏览器,你需要包含一个像json2.js这样的库。
要序列化,使用JSON.stringify
方法。
var myObject = {a: 2, b: 3, c: [1, 2, 3]};
var serialized = JSON.stringify(myObject);
// serialized == "{"a":2,"b":3,"c":[1,2,3]}"
要反序列化,可以使用JSON.parse
方法。
var recovered = JSON.parse(serialized);
我已经构造了这样的数组:
var data = new Array(); data["John"] = "John Smith";
啊,这是个问题。JavaScript Array
不意味着用作关联数组,它意味着作为一个正常的零索引非关联数组。你可以给任何JavaScript对象分配属性(键/值对),这就是为什么你的代码是工作的,但事实上,你的对象是一个Array
可能会导致问题。如果你只是创建一个new Object()
,事情应该工作得更好。
您将需要将数组序列化为JSON:
serialized = JSON.stringify(myobject)
把它拿回来
myobject = JSON.parse(serialized)
http://www.json.org/js.html var someArray = [];
someArray.push({someObjectProperty: 'someValue' });
someArray.push({someObjectProperty: 'someValue2' });
console.log(someArray);
var stringVersion = JSON.stringify(someArray);//You can save the string version anywhere...
console.log(stringVersion);
var someNewArray = JSON.parse(stringVersion);
console.log(someNewArray);
每个人都在Javascript端很好地解释了这一点,但这是在PHP端如何发生的:
<?php
$arr = Array(1, 2, 3, 'a', 'b', 'c'); // an array in PHP
echo json_encode($arr); // output the array as JSON: [1,2,3,'a','b','c']
?>
<?php
$json = "[1,2,3,'a','b','c']"; // a JSON string to be parsed by PHP
$arr = json_decode($json); // this is our original array in PHP again
?>
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 将Javascript数组发送到控制器ASP.NET MVC
- JavaScript数组包含一个值
- 将JavaScript数组传递给函数
- javascript:数组循环
- 将数据存储在javascript数组中以供进一步使用
- 在Javascript数组中查找绝对最大值
- JavaScript数组优化以提高性能
- 在javascript数组中分散数字
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- Javascript数组动态
- javascript数组元素是否知道其封闭数组
- 将 JSON 数组解析为 JavaScript 数组
- 将Transform和Instance Variable转换为对象的JavaScript数组
- 使用Web Html表单创建Javascript数组
- 从重复的javascript数组结果集中只获取一行
- 如何为Javascript数组()的使用准备PHP变量
- Javascript数组和函数
- 为DataTables aoColumnDefs创建JavaScript数组(JSON格式)