【发布时间】:2018-05-23 10:45:54
【问题描述】:
我有以下 json 文档:
{
"videoUrl":"",
"available":"true",
"movie":{
"videoUrl":"http..."
},
"account":{
"videoUrl":"http...",
"login":"",
"password":""
}
}
在这个 json 中我有一个名为 videoUrl 的属性,我想获取第一个非空的 videoUrl
我的正则表达式:
("videoUrl":)("http.+")
但是这个正则表达式匹配下面的字符串
"videoUrl" :"http..."},
"account" : {"videoUrl" : "http...","login" : "","password" : ""
我写正则表达式的方法是什么,它将找到第一个非空 videoUrl 的值
(结果应该是"videoUrl":"http...")
【问题讨论】:
-
我认为你不需要任何正则表达式,只需要 json 解析和逻辑
-
尝试在表达式末尾添加
\s(空格)。 -
@JanOssowski 感谢回复,我补充了,但还是不正确
-
@B001ᛦ 问题是我在乞讨中没有我的 json,我解析了包含这个 json 作为代码一部分的 .js 脚本
-
通过正则表达式解析 json 不是一个好主意。你能试试jsonPath吗? github.com/json-path/JsonPath