簡體   English   中英

如何在 JavaScript 中將字符串轉換為 object?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM