[英]How to convert the string to object in JavaScript?
我需要將此字符串轉換為 object
var str = "res=[xyz=name,abc=address]";
我需要output以下:
var obj = {xyz: "name",abc:"address"}
我試圖通過使用 json.parse 和拆分來轉換它,但我無法得到結果。有人可以幫忙嗎?
此代碼適用於給定的字符串。 對於菜鳥來說,它也非常易讀
var str = "res=[xyz=name,abc=address]"; str = str.split("res=")[1].replace("[",'{"').replace("]",'"}').replace(/=/g,'":"').replace(/,/g,'","'); res = JSON.parse(str); console.log(str,"\n",res);
另一種實現:
//str format "res=[xyz=name,abc=address]" function stringToObject(str){ const extractedStr = str.substring(str.indexOf("[")+1,str.indexOf("]")-1); return extractedStr.split(",").reduce((acc,keyVal)=>{ acc[keyVal.split("=")[0]] = keyVal.split("=")[1]; return acc; },{}); } console.log(stringToObject("res=[xyz=name,abc=address]"));
這是一種方法:
// format your input like this, comma separated, and key=val const str = "xyz=name,abc=address" const obj = str.split(',').reduce((acc, keyVal) => { const [key, val] = keyVal.split('=') acc[key] = val return acc }, {}) console.log(obj) // { xyz: "name", abc: "address" }
另一種實現
let str = "res=[xyz=name,abc=address]"; let convertStrToObject = (str) => { return str.substring(5, str.length - 1).split(",").reduce((acc, item) => { acc[item.split("=")[0]] = item.split("=")[1]; return acc; }, {}); }; console.log(convertStrToObject(str));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.