是否可以从字符串内容创建对象?
例如,我有一个字符串,"{ name: John }"
如何简单地解析它来创建一个对象{ name: 'John' }
?
更新
不幸的是JSON.parse
对我不起作用,也可能有一些棘手的字符串(如果你使用过你知道的 mongodb),例如{ name: John, email: { $exists: true } }
也许还有另一种解决方案,例如 mongodb 查询解析器?
是否可以从字符串内容创建对象?
例如,我有一个字符串,"{ name: John }"
如何简单地解析它来创建一个对象{ name: 'John' }
?
更新
不幸的是JSON.parse
对我不起作用,也可能有一些棘手的字符串(如果你使用过你知道的 mongodb),例如{ name: John, email: { $exists: true } }
也许还有另一种解决方案,例如 mongodb 查询解析器?
这是一种方法。//修剪方法的代码
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}
var s = "{ name: John }";
var arr = s.substring(1,s.length-1).trim().split(':');
var obj = {};
obj[arr[0]]=arr[1];
alert(obj.name);
如果你能得到'{"name":"John"}'
,那么你可以将它解码为 JSON。
您的字符串必须是有效的 JSON 格式:
var s = '{ "name": "John", "family": "Resig" }';
然后你可以解析它JSON.parse
:
var o = JSON.parse(s);
你可以使用对象o
:
alert(o.name); // John
alert(o.family); // Resig