【问题标题】:How to parse jSON file with double quotes in PHP?如何在 PHP 中解析带双引号的 JSON 文件?
【发布时间】:2014-05-28 23:56:27
【问题描述】:

我有一个包含数组值的 CSV 文件,并想用 PHP 读取它。所以我使用Mr Data Converter(如 StackOverflow 上的建议)将我的 CSV 文件转换为 JSON 文件,然后我可以轻松地在 PHP 中解析和解码。不幸的是,我得到的 jSON 文件到处都是 "" (双引号)和 \n (新行),PHP 似乎无法解码它。我尝试过其他在线转换工具,但它们似乎都有同样的问题。下面是一个 JSON 字符串的例子:

[{"text":"This is some example "text"","name":"Thomas Cohen"},{"text":"This is "another" example text","name":"Steve Mambo"}]

如果我删除双引号,PHP 可以毫无问题地解析它。但是我不能对整个文件这样做,因为它太大了。

PHP如何解析这个json?

【问题讨论】:

  • 它不是 valid JSON,所以如果不修改就无法解析。任何类型的解码函数都需要有效的编码。
  • 直接解析csv文件即可,php有这个功能

标签: php csv json


【解决方案1】:

那个 JSON 是无效的。字符串中的" 字符必须转义:

"This is some example \"text\""

任何 JSON 生成器都应该正确地转义它们。

您可能正在将 JSON 复制/粘贴到您的 PHP 源代码中,并且在您手动将其转换为字符串文字时未能正确转义字符。确保在 PHP 字符串中转义任何具有特殊含义的字符(例如 \"

【讨论】:

  • 我使用的这个 JSON 生成器(Mr Data Converter)碰巧没有转义字符串中的引号。你知道还有其他的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-28
  • 1970-01-01
相关资源
最近更新 更多