Javascript 将随机字符串转换为实际JSON对象的最简单方法

Javascript 将随机字符串转换为实际JSON对象的最简单方法,javascript,javascript-objects,Javascript,Javascript Objects,我有一个看起来几乎像有效json的字符串: “Url:localhost/2.0/facebook,用户名:ted,用户值:4” 如何将其转换为有效的json,以便在执行str.Url操作时获得“localhost/2.0/facebook”等信息?您可以通过以下方式执行此操作 let str=“Url:localhost/2.0/facebook,用户名:ted,用户值:4”; 让结果={} str.replace(/([^:]+):\s*([^,]+),?/g,函数(a,b,c){ 结果[

我有一个看起来几乎像有效json的字符串:
“Url:localhost/2.0/facebook,用户名:ted,用户值:4”

如何将其转换为有效的json,以便在执行
str.Url
操作时获得“localhost/2.0/facebook”等信息?

您可以通过以下方式执行此操作

let str=“Url:localhost/2.0/facebook,用户名:ted,用户值:4”;
让结果={}
str.replace(/([^:]+):\s*([^,]+),?/g,函数(a,b,c){
结果[b]=c;
})

控制台日志(结果)
如果您确定您的模式,并且任何键或值都不会包含
,那么您可以尝试先按
拆分,以获取每个键值对,然后按
拆分每对,以获取每对的键和值

var str=“Url:localhost/2.0/facebook,用户名:ted,用户值:4”;
var obj=str.split(“,”).reduce((i,e)=>{
var kv=e.分裂(“:”),
v=kv[1]。微调();
i[kv[0]]=isNaN(v)?v:v;
返回i;
}, {})

console.log(obj)
您只需在正则表达式的帮助下使用string replace将键和值放入引号(“)中,然后使用
JSON.parse
将字符串转换为JSON对象

let url=“url:localhost/2.0/facebook,用户名:ted,用户值:4”;
url=url.replace(/(.*):\s?(.*),/g,“$1”:“$2”,\n”)。replace(/(.*):\s?(.*)$/,“$1”:“$2”);

console.log(JSON.parse(`{${url}}`);
字符串的模式将始终是这样的?字符串从哪里获得的?如果用户名包含逗号等怎么办?模式将始终是这样的。是的,做得很好!显然,由于“用户值”由空格分隔,因此我必须像这样查询结果[“用户值”].我很欣赏你的逻辑.我会记住的。