正则表达式允许我们指定字符串应匹配的格式,然后测试字符串是否匹配,找出匹配的位置,并捕获反向引用。
我想为JSON提供类似的功能。考虑:
{ "title": "My blog entry",
"author": { "name": "Joe", "id": 4324132 },
"comments: [
"first!!!",
"Very insightful!",
"A++ would read again"
]
}
您可以将其与以下内容匹配:
{ "title": (title),
"author": *,
"comments": [
"first!!!",
...
]
}
(哪个会成功返回,并将捕获title
绑定到值"My blog entry"
)
这只是一个例子。对于从验证API响应到从JSON提取信息到甚至(一个RE替换)转换JSON的所有内容都非常有用。
有人见过这样的事吗?令人惊讶的是,在相同的上下文中搜索正则表达式和JSON只会导致人们尝试使用正则表达式解析JSON。 EW。
答案 0 :(得分:1)
有一些工具可以帮助你做到这一点,虽然不完全是正则表达式。
首先,您需要的是验证您的数据,因为您可以使用JSON Schema。
其次,要提取标题,假设您不想解码json字符串,如果您使用的是JS或PHP,则可以使用JSONPath,或者可以尝试使用JsonGrep进行CLI或者Python。 CLI解析也有jshon。
答案 1 :(得分:1)
你应该看看json:select - 它就像JSON的CSS选择器......它与处理结构化数据时的“正则表达式”非常接近。
如果你想从命令行玩它,请查看underscore-cli,它将“select”公开为其命令之一。
答案 2 :(得分:0)
jsonmatch是一个库,用于执行您要查找的内容的验证部分。它比上面接受的答案中引用的JSON Schema库更简单/更轻。如果你想扩展它以进行捕获,那么热烈欢迎拉取请求;)。