[英]Extract a value from json inside json string
var a = '{"test_cmd": "pybot -args : {\"custom-suite-name\" : \"my-1556\"}}'
b = a.match("\"custom-suite-name\" : \"([a-zA-Z0-9_\"]+)\"")
console.log(b)
我在json字符串中有一个json字符串。
我喜欢使用正则表达式提取属性custom-suite-name
的值。
输出必须是
my-1556
。
但是返回值b
没有匹配项/空值。
不要使用正则表达式来解析JSON,请使用JSON.parse
。
var obj = JSON.parse(a);
var test_cmd = obj.test_cmd;
var args_json = test_cmd.replace('pybot -args : ', '');
var args = JSON.parse(args_json);
var custom_suite = args.custom_suite_name;
最好将正则表达式放在/
斜杠内。 注意,
-
在字符类中,因为您的值部分也包含连字符。 码:
> a.match(/"custom-suite-name" : "([a-zA-Z0-9_-]+)"/)[1]
'my-1556'
> a.match(/"custom-suite-name"\s*:\s*"([a-zA-Z0-9_-]+)"/)[1]
'my-1556'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.