是否可以从字符串内容创建对象?
例如,我有一个字符串"{ name: John }"
如何简单地解析它以创建一个对象{ name: 'John' }
?
更新
不幸的是JSON.parse
对我不起作用,也可能有一些棘手的字符串(如果你使用了mongodb),例如{ name: John, email: { $exists: true } }
也许有另一种解决方案,比如mongodb查询解析器?
答案 0 :(得分:2)
这是一种方法。 //修剪方法的代码
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);
答案 1 :(得分:0)
如果您可以获得'{"name":"John"}'
,那么您可以将其解码为JSON。
答案 2 :(得分:0)
您的字符串必须是有效的JSON格式:
var s = '{ "name": "John", "family": "Resig" }';
然后您可以使用JSON.parse
解析它:
var o = JSON.parse(s);
您可以使用对象o
:
alert(o.name); // John
alert(o.family); // Resig