【发布时间】:2014-03-26 12:34:21
【问题描述】:
我正在寻找一种在字符串中查找 JSON 数据的方法。把它想象成 wordpress 简码。我认为最好的方法是使用正则表达式。我不想解析 JSON,只想找到所有出现的地方。
正则表达式中是否有办法匹配括号数?目前我在嵌套对象时遇到了这个问题。
快速演示示例:
This is a funny text about stuff,
look at this product {"action":"product","options":{...}}.
More Text is to come and another JSON string
{"action":"review","options":{...}}
因此,我想要两个 JSON 字符串。 谢谢!
【问题讨论】:
-
看到这个问题Regex to validate JSON。
-
我认为这里更大的问题是为什么将 JSON 字符串嵌入到纯文本块中?我认为改进设计可能是比尝试构建正则表达式来在野外查找 JSON 子字符串更好的方法。
-
正则表达式中是否有办法匹配括号数? -> 不,正则表达式不是为此而生的。为什么不使用
json_decode并解析结果数组以获得所需的数据? -
您意识到
42将是有效的JSON?"Hi There!"也一样吗?除非您将 json 限制为仅编码对象,否则几乎不可能检测到所有有效的 json 形式。 -
我想将这些 JSON 对象用作 wordpress 中的简码。 wordpress 的实现很混乱,至少我是这么认为的。为了给我喜欢运行的函数提供数据,我认为 JSON 是最好的方法。作为一种解决方法,我可以做类似 [[{json}]] 的事情并匹配 [[...]]。但是我想让它尽可能简单。