如何在 Javascript 中将 String 转换为 key/value pair(map)
How to convert String into key/value pair(map) in Javascript
我正在尝试将只是 xml 数据格式的简单字符串转换为 key/value 对。
input :-> str ='<name>xyz</name>'
output :-> {name : 'xyz'}
下面是 myFunction,但它没有显示确切的结果
let str = '<name>xyz</name>'
function myFunction(str) {
let map ={}
let key
let value
str = str.split(/[.:;?!~,`"&|()<>{}[\]\r\n/\]+/)
str = _.compact(str)
key = ??
value = ??
return map
}
基本上 <> 中的任何内容都是关键,并且在结束标记之间 output.I 这里缺乏正确的逻辑。任何帮助将不胜感激:-)
匹配第一个 <
到 >
之间的任何内容以匹配键,并将第一个 >
和第二个 <
之间的任何内容匹配到值,然后进行其中的一个对象:
const str = '<name>xyz</name>';
const [,key,val] = str.match(/<([^>]+)>([^<]+)</);
const obj = { [key]: val };
console.log(obj);
我正在尝试将只是 xml 数据格式的简单字符串转换为 key/value 对。
input :-> str ='<name>xyz</name>'
output :-> {name : 'xyz'}
下面是 myFunction,但它没有显示确切的结果
let str = '<name>xyz</name>'
function myFunction(str) {
let map ={}
let key
let value
str = str.split(/[.:;?!~,`"&|()<>{}[\]\r\n/\]+/)
str = _.compact(str)
key = ??
value = ??
return map
}
基本上 <> 中的任何内容都是关键,并且在结束标记之间 output.I 这里缺乏正确的逻辑。任何帮助将不胜感激:-)
匹配第一个 <
到 >
之间的任何内容以匹配键,并将第一个 >
和第二个 <
之间的任何内容匹配到值,然后进行其中的一个对象:
const str = '<name>xyz</name>';
const [,key,val] = str.match(/<([^>]+)>([^<]+)</);
const obj = { [key]: val };
console.log(obj);