Javascript 从字符串中提取子字符串并转换为节点js中的json对象

Javascript 从字符串中提取子字符串并转换为节点js中的json对象,javascript,json,node.js,regex,Javascript,Json,Node.js,Regex,我有一根像 { Region : us-west-2, AmiId : ami-0f60f66f},{ Region : us-west-1, AmiId : ami-2884de48} 这个{manish}{abc}{123}是我的字符串CopyResult={Region:us-west-2,AmiId:ami-0f60f66f},{Region:us-west-1,AmiId:ami-2884de48},manish-kumar 我想得到像这样的子字符串 { Region : us-we

我有一根像

{ Region : us-west-2, AmiId : ami-0f60f66f},{ Region : us-west-1, AmiId : ami-2884de48}
这个{manish}{abc}{123}是我的字符串CopyResult={Region:us-west-2,AmiId:ami-0f60f66f},{Region:us-west-1,AmiId:ami-2884de48},manish-kumar

我想得到像这样的子字符串

{ Region : us-west-2, AmiId : ami-0f60f66f},{ Region : us-west-1, AmiId : ami-2884de48}
在得到该字符串后,我想将该字符串转换为JSON

我正在尝试像这样的代码

 var pt = /CopyResult=.*/;
 var copyAmisResult = copyAmilog.match(pt);
 console.log("copyAmilog -- " + copyAmisResult);
输出

CopyResult={地区:us-west-2,AMID:ami-0f60f66f},{地区:us-west-1,AMID:ami-2884de48}

有人能建议我修改后的正则表达式,这样我就可以得到我的输出了


PS:-我需要从字符串的开头和最后一个字符串中删除CopyResult=并且它可以有多个{}。之后,有一种更简单的方法将该字符串转换为JSON对象。JSON.parse有用吗

可以使用此正则表达式获取所需的子字符串,但我不确定如何将其转换为对象

var str=This{manish}{abc}{123}是我的stringCopyResult={地区:us-west-2,AMID:ami-0f60f66f},{地区:us-west-1,AMID:ami-2884de48},manish kumar;
console.log str.match/=\s*{.*}/[1] 你可以得到如下数据

var copyAmilog='这{manish}{abc}{123}是我的stringCopyResult={地区:us-west-2,AMID:ami-0f60f66f},{地区:us-west-1,AMID:ami-2884de48},manish kumar' 变量pt=/stringCopyResult=.*,/; var copyAmisResult=copyAmilog.matchpt;
console.logcopyAmilog-,copyAmisResult[1];我对正则表达式不在行,但是一旦获得字符串JSON.parse'['+'{one:1}、{two:2}、{three:3}'+']',JSON.parse就会很有用;刚刚注意到您的变量名和值没有用引号括起来,也需要这样做。您应该告诉您的服务器返回正确的JSON,而不是执行此黑客操作。@JosephDreamer在我的情况下很难得到JSON结果。所以我没有选择。为什么否决投票?请你解释一下,这样我可以改进这个问题。用大的替换链很难看,可能太脆弱,但这里有一个使用Ratan正则表达式的例子!如果有多个{}怎么办?我已更新了我的问题。str.match/stringCopyResult={.*}/[0]。slicestringCopyResult=.length您可以使用此权限吗?我已将其更新为与之前的=相匹配,但如果存在您不想捕获的={,则将失败。您应该确切指定要捕获的方式以获取正确的正则表达式。