来自字符串的子串并转换为节点js中的json对象

时间:2017-04-05 16:08:32

标签: javascript json node.js regex

我有一个像

这样的字符串
  

这个{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 = {Region:us-west-2,AmiId:ami-0f60f66f},{Region:us-west-1,AmiId:ami-2884de48},

有人可以建议我修改正则表达式,以便我可以得到我的输出。

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

2 个答案:

答案 0 :(得分:1)

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

var str = "This {manish } {abc} {123 } is my stringCopyResult={ Region : us-west-2, AmiId : ami-0f60f66f},{ Region : us-west-1, AmiId : ami-2884de48}, manish kumar";
console.log( str.match(/=\s*({.*})/)[1]);

答案 1 :(得分:0)

您可以获得以下数据。

var copyAmilog = 'This {manish } {abc} {123 } is my stringCopyResult={ Region : us-west-2, AmiId : ami-0f60f66f},{ Region : us-west-1, AmiId : ami-2884de48}, manish kumar'
var pt = /stringCopyResult=(.*),/;
var copyAmisResult = copyAmilog.match(pt);
console.log("copyAmilog -- " , copyAmisResult[1]);