【问题标题】:Find JSON in plain text以纯文本形式查找 JSON
【发布时间】:2020-12-19 23:42:26
【问题描述】:

我正在努力解决我还无法解决的问题。

第三方应用程序生成一个 JSON,我想使用它。

但不幸的是,它在输出前加上:

Google Chrome 1.2.3.4 
Mozilla Firefox 73.0
[2020-08-31 14:35:50] INFO: Running tests
{
... complex json object
}

现在我想知道如何安全地搜索此输出中的 JSON 对象。这里有什么想法吗?

【问题讨论】:

  • 剥离第一个{之前的所有内容?
  • 尝试找到一些模式。总是第三行?第一个{ 启动json?
  • 是的,总是第三行。

标签: php json regex


【解决方案1】:

您可以使用正则表达式方法:

<?php
$input = 'Google Chrome 1.2.3.4 
Mozilla Firefox 73.0
[2020-08-31 14:35:50] INFO: Running tests
{
    "complex": "json object",
    "somekey1": {"somekey2":33},
    "somekey3": [36,56]
}';

preg_match('/({.*})/mis', $input, $matches);
var_dump(json_decode($matches[0]));

在此处查看工作示例:PHPize.online

【讨论】:

    猜你喜欢
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2022-11-20
    • 2015-12-08
    • 2015-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多