我想以一种优雅的方式转换这种字符串:
"{lastname=Oba, firstname=Bar}"
到
var person = [];
person["firstName"] = "Bar";
person["lastName"] = "Oba";
我尝试使用JSON解析但不能正常工作, 我不知道如何没有脏分裂
答案 0 :(得分:0)
算法:
按,
分割字符串,您将获得A=B
对的列表,然后按=
分隔每对列表并形成字典:
的Python
s = "{lastname=Oba, firstname=Bar}"
l = s[1:-1].split(",")
d = {}
for e in l:
a = e.split("=")
d[a[0].strip()] = a[1].strip()
的JavaScript
var s = "{lastname=Oba, firstname=Bar}";
var l = s.slice(1,-1).split(',');
var d = {};
for (var i in l) {
var a = l[i].split('=');
d[a[0].trim()] = a[1].trim();
}
答案 1 :(得分:0)
这段代码应该很容易解析这个。
function myParser(str) {
return str.slice(1, -1).split(',').map(function(el) {
return el.trim()
}).map(function(el) {
return el.split('=')
}).reduce(function(result, pair) {
result[pair[0].trim()] = pair[1].trim();
return result
}, {});
}
它只能用于一小组属性和数据的预期工作,但找出这些情况并修复这种行为是留给读者的练习。