用于php的Javascript数组序列化函数
Javascript array serialize function for use in php
我有一个javascript函数,它将javascript数组转换为序列化字符串,在php中用作数组。
function js_array_serialize(a) {
var a_php = "";
var total = 0;
for (var key in a) {
++ total;
a_php = a_php + "s:" +
String(key).length + ":'"" + String(key) + "'";s:" +
String(a[key]).length + ":'"" + String(a[key]) + "'";";
}
a_php = "a:" + total + ":{" + a_php + "}";
return a_php;
}
上面的函数用于关联数组。但我有一个多维数组,必须在for循环中做一些事情,我可以想到另一个嵌套循环。
我的javascript数组是这样的结构:
var a = {
'index': {
'subindex1': 'default',
'subindex2': 'default'
},
'index2': {
'subindex1': 'default',
'subindex2': 'default'
}
};
感谢您的帮助。谢谢
您似乎正在重新发明JSON轮子。这个怎么样:
function js_array_serialize(a) {
return JSON.stringify(a);
}
JSON.stringify
功能是本机内置的现代浏览器。如果您想支持传统浏览器,只需在页面中包含json2.js脚本即可。
永远不要使用字符串串联来构建JSON。还有更多的情况需要处理:比如正确地转义值。例如,如果值包含引号?它将破坏您的序列化算法。
相关文章:
- 修改序列化表单函数以获取输入ID而不是名称
- 类型错误:序列化表单时,未定义不是函数
- Javascript 中的函数可序列化性
- Angular $resource也序列化函数
- 如何从 .NET 字符串序列化 javascript 函数
- Javascript 对象序列化函数
- 如何在序列化和提交表单之前将值从一个函数传递到另一个函数
- 为什么我的序列化 JSON 在到达 java 脚本函数参数后被取消序列化
- node.js/sqlite-序列化回调以及主要函数
- 使用PhantomJS桥序列化函数
- 序列化表单并向函数发布ajax
- 将函数对象引用作为序列化json传递
- 用于php的Javascript数组序列化函数
- 解析javascript函数中用于序列化的外作用域引用
- 我正在使用jquery序列化函数通过ajax提交表单
- 如何在JavaScript中序列化函数
- 使用序列化函数发送表单的数据
- 序列化函数调用
- 使用c#在json中序列化一个函数作为参数
- jQuery序列化具有多个值的函数