从字符串创建对象,javascript
Create object from a string, javascript
是否可以从字符串内容创建对象?
例如,我有一个字符串"{ 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
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
相关文章:
- 文本表示法VS.构造函数,用于在JavaScript中创建对象
- 如何在JavaScript中创建对象时使用变量的值
- 用javascript创建另一个对象的实例
- 用javascript在对象上创建不存在的方法
- ES6 const,用于在JavaScript中创建对象原型;这是一种模式吗
- 用javascript创建对象的dynamic数组
- Javascript,用vars创建对象的最佳方法
- 使用jstl c:forEach在迭代jsp bean上创建javascript json对象
- 从数组javascript创建新对象
- 在创建对象时调用javascript函数
- JavaScript - 有没有办法动态创建对象的新实例
- Javascript 深度对象相等时,对象通过 json 字符串与生成器创建
- JavaScript:创建新对象类型的方法
- 用javascript创建对象(使用新对象)有什么优点
- Javascript 创建对象结构
- 在加载时使用javascript创建对象以供以后使用
- JavaScript /创建对象与地图
- JavaScript创建对象的新实例
- 如何在使用javascript创建对象的同时执行函数
- 用javascript创建对象