序列化 Javascript 代码
serialize Javascript code
我希望能够在mongo DB中将对象存储为代码。主要问题是在尝试存储包含类型的array
时。示例:[ String
, Array
, 'some'
, 'hello world'
]。保存和获取文档时,我会得到
Doc.array = [undefined, undefined, 'some', 'hello world']
有没有办法自行序列化数组并将其保存在 mongo 中?像这样:
var S = require('serializer');
var obj = {
cons: [[String, 'some', 'somemore']],
func: function(param, param2){
param2.some = 'bla';
}
};
var objs = S.serializer(obj);
//Store that serialized obj as a value for binary key or buffer key in mongo..
// then when getting the document...
var obj = S.deserialize(objs);
// being obj the exactly same object with the array and the function.
有没有办法做到这一点,或者有没有不同/更好的方法?
编辑
我只需要一种方法来存储nools规则,所以问题是规则约束结构如下:
[FactType, 'alias', 'conditions']
其中 FactType 可以是字符串、对象、自定义。
如果它只是一个JSON,你可以串化一个json:
var text=JSON.stringify(obj);
并再次解析到杰森 通过解析:
var myVar=JSON.parse(text
);
如果对象中有函数,请使用以下命令来序列化:
function objToString(obj, ndeep) {
switch(typeof obj){
case "string": return '"'+obj+'"';
case "function": return obj.name || obj.toString();
case "object":
var indent = Array(ndeep||1).join(''t'), isArray = Array.isArray(obj);
return ('{['[+isArray] + Object.keys(obj).map(function(key){
return ''n't' + indent +(isArray?'': key + ': ' )+ objToString(obj[key], (ndeep||1)+1);
}).join(',') + ''n' + indent + '}]'[+isArray]).replace(/['s't'n]+(?=(?:[^''"]*[''"][^''"]*[''"])*[^''"]*$)/g,'');
default: return obj.toString();
}
}
例
序列 化:
var text=objToString(obj); //To Serialize Object
结果:
"{cons:[[String,"some","somemore"]],func:function(param,param2){param2.some='bla';}}"
反序列化:
Var myObj=eval('('+text+')');//To UnSerialize
结果:
Object {cons: Array[1], func: function, spoof: function}
相关文章:
- 云代码(javascript)失败,原因是:{代码:1,消息:内部错误
- 简化此If语句,使其不会't重复代码-Javascript
- 十进制到二进制代码Javascript
- 第二次单击时执行不同的代码(JavaScript)
- 在不使用jquery($symbol)knockout.js的情况下分离代码javascript
- 缩短几个元素的onclick代码 - JavaScript
- 英国银行排序代码 JavaScript 正则表达式
- 我无法在谷歌图表的代码 javascript 中获取 json 数据(项目 Python Hello Dashboard
- 和代码 JavaScript 没有被 &.
- 我怎样才能减少这段代码 javascript 代码,这样它就不会那么重复了
- 我想单击一个按钮,一次只执行已经制作的程序中的一行代码.(JavaScript)
- 滑动 DIV 代码 Javascript 的小问题
- 尝试重写代码 JavaScript
- 是否可以检测到在不使用键代码 javascript 的情况下按下了输入键
- 输入网址代码 JavaScript 播放器
- 管理通用客户端代码(javascript/css)
- 理解代码javascript
- 加载json-url参数代码(javascript修改)
- 变量检查错误的代码(javascript)
- css属性仅由代码javascript应用