从字符串javascript创建对象

时间:2013-06-01 07:28:34

标签: javascript string parsing object

是否可以从字符串内容创建对象?

例如,我有一个字符串"{ name: John }"如何简单地解析它以创建一个对象{ name: 'John' }

更新

不幸的是JSON.parse对我不起作用,也可能有一些棘手的字符串(如果你使用了mongodb),例如{ name: John, email: { $exists: true } }

也许有另一种解决方案,比如mongodb查询解析器?

3 个答案:

答案 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)

Working jsFiddle Demo

您的字符串必须是有效的JSON格式:

var s = '{ "name": "John", "family": "Resig" }';

然后您可以使用JSON.parse解析它:

var o = JSON.parse(s);

您可以使用对象o

alert(o.name); // John
alert(o.family); // Resig