从字符串到Javascript对象
From string to an Object with Javascript
如何将此字符串:"{one=1,two=2}"转换为JavaScript对象?所以我可以访问这些值
我尝试用":"替换"=",但是在访问对象时,我收到一个"未定义"。下面是我的代码:
var numbers = "{one=1,two=2}"; //This is how I receive the string
numbers = numbers.replace(/=/g, ':'); //I use the '/g' to replace all the ocurrencies
document.write(numbers.one); //prints undefined
这是字符串
var str = '{one=1,two=2}';
将=
字符替换为:
,并将其作为有效的JSON对象(需要带双引号的键)
var str_for_json = str.replace(/('w+)=/g, '"$1"=').replace(/=/g, ':');
在正则表达式中,'w
意味着[a-zA-Z0-9_]
和( )
捕获里面的内容,稍后可用,就像这里的$1
现在将字符串解析为JSON以便像这样使用
var str_json = JSON.parse(str_for_json);
现在享受。干杯! !
document.write(str_json.one);
最后:
var str = '{one=1,two=2}';
var str_for_json = str.replace(/('w+)=/g, '"$1"=').replace(/=/g, ':');
try {
var str_json = JSON.parse(str_for_json);
document.write(str_json.one);
} catch(e) {
console.log("Not valid JSON:" + e);
};
不尝试使用regexp来创建JSON,而是直接解析字符串,如
所示const result = {};
numbers.match(/{(.*?)}/)[1] // get what's between curlies
.split(',') // split apart key/value pairs
.map(pair => pair.split('=')) // split pairs into key and value
.forEach(([key, value]) => // for each key and value
result[key] = value); // set it in the object
1 -一个有效的JSON是:var numbers = "{'"one'"=1,'"two'"=2}";
(你需要'")
2-你需要JSON.parse
字符串
var numbers = "{'"one'"=1,'"two'"=2}"; //This is how I receive the string
numbers = numbers.replace(/=/g, ':'); //I use the '/g' to replace all the ocurrencies
numbers=JSON.parse(numbers);
document.write(numbers.one); //prints undefined
相关文章:
- 面向对象JavaScript中的私有函数
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 将字符串转换为对象 javascript/jquery
- 正在检查对象javascript中是否存在嵌套属性
- 时间-日期对象JavaScript getUTCMilliseconds
- 仅在对象(javascript)中解析值
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 引用另一个对象javascript中的对象
- 如何删除列表中的对象?Javascript nodejs和下划线
- 无法从日期对象javascript获取日期和月份
- 如何在if语句中使用对象-Javascript
- 对象javascript错误
- 对象Javascript的少数实例
- 位置对象Javascript
- 将字符串传递到对象javascript中
- 获取对象Javascript或jQuery的最后一个值
- 鼠标接近对象Javascript
- 这个mixins代码是书中的错误吗;面向对象JavaScript的原理”;
- 使用闭包编译器编写更好的面向对象JavaScript完整示例代码
- 访问对象javascript数组中的对象属性值