【发布时间】:2017-08-31 08:59:31
【问题描述】:
我有一个类似
的字符串这个 {manish } {abc} {123 } 是我的字符串 CopyResult={ Region : us-west-2, AmiId : ami-0f60f66f},{ Region : us-west-1, AmiId : ami-2884de48},马尼什·库马尔
我想得到像
这样的子字符串{ 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() 有用吗?
【问题讨论】:
-
我不擅长正则表达式,但 JSON.parse() 一旦你得到字符串
JSON.parse('[' + '{"one": 1}, {"two": 2}, {"three": 3}' + ']');就会很有用,只是注意到你的变量名和值没有用引号括起来,需要做那也是.. -
你应该告诉你的服务器返回正确的 JSON 而不是做这个黑客工作。
-
@JosephtheDreamer 在我的情况下很难获得 JSON 结果。所以我没有选择。
-
为什么不赞成请你解释一下,以便我改进问题
-
.replace 大链很丑,可能太脆弱,但这里有一个例子jsfiddle.net/sgL1fmsL(使用 Ratan 的正则表达式 -- ty!)
标签: javascript json node.js regex