我正在实现某种解析器,我需要定位和反序列化嵌入到其他半结构化数据中的json 对象。我使用了正则表达式:
\\{\\s*title.*?\\}
Run Code Online (Sandbox Code Playgroud)
定位对象
{title:'Title'}
Run Code Online (Sandbox Code Playgroud)
但它不适用于嵌套对象,因为表达式只匹配第一个找到的右大括号。为了
{title:'Title',{data:'Data'}}
Run Code Online (Sandbox Code Playgroud)
它匹配
{title:'Title',{data:'Data'}
Run Code Online (Sandbox Code Playgroud)
所以字符串对于反序列化无效。我知道考虑到贪婪的业务,但我不熟悉正则表达式。你能帮我扩展表达式以使用所有可用的右大括号吗?
更新:
需要明确的是,这是一种尝试从 HTML+JS 等带有嵌入 JSON 的半结构化数据中提取 JSON 数据的尝试。我正在使用 GSon JAVA lib 来实际解析提取的 JSON。