我是一名 PHP 开发人员,正在编写将逐步执行并解析 JSON 对象的代码,以便我可以在以最终形式输出数据之前对其进行操作。这是一些 JSON 示例(它非常大,所以我删除了我需要的大部分项目,只放置了无效部分):
[
{
"items": [
{
// this is valid and what I need.
}
],
"espots": [
{
"content": "
[TopNavigation_Appliances]
"
}
]
},
我已经有效地将 JSON 从其源中剥离,严格来说是传递给 json_decode() 的 JSON 数据。但是,我总是得到一个空结果,因为 JSON 对象有一个无效的部分,我的代码实际上并不需要它来运行。我的应用程序不需要 JSON 的整个“espots”部分,但多行“内容”部分正在搞砸 json_decode()。有没有办法通过 RegEx 或一些漂亮的 PHP 在 PHP 中从 JSON 输出中删除这些项目,以便我可以正确使用 json_decode() 检索 n 数组,然后我的代码可以按照我需要的方式操作和处理它至?
这是 JSONLint(和另一个验证器)给出的错误消息:
Parse error on line 263:
... "content": "[TopNavigation_App
-----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
我正在收集“[ 导致 JSON 无效,但我不是 Json 专家。
我尝试了以下无济于事:
- str_replace() 在其原始格式的行上
- trim() 和 str_replace
- 修剪()
- str_replace 删除换行符然后尝试 str_replace() JSON 的罪魁祸首部分。