【发布时间】:2016-05-12 16:40:24
【问题描述】:
有没有办法在 PHP 中解析 Python 列表?
我有来自 python 的数据存储在 mysql 中,如下所示:
[{u'hello: u'world'}]
并且需要在 PHP 脚本中使用它。数据是一个有效的 JSON,唯一的区别是那些领先的 u'
所以我可以用' 替换所有u',然后用" 替换所有' 以将其放入json。
当我替换所有内容时,如果实际值中有',它也会被" 替换并制动json。
所以.. 我尝试了很多东西,但没有一个能够解析正确的 json,因此我的问题 -> 有没有办法在 PHP 中解析 Python 生成的类似列表/json 的数据?我不介意使用一些第三方库等,只是想解析数据...
谢谢
【问题讨论】:
-
理想情况下,您应该修复 Python 程序,以便它使用
json.dumps()导出实际的 JSON,而不是简单地打印 Python 数据结构的repr()。 -
正确的方法是存储正确的序列化数据。因此,当您将数据写入 mysql 时,添加序列化步骤:json.dumps(your_list_of_dicts)。在这种情况下,您不需要任何解决方法来解析任何地方的非形式化字符串。
-
为什么它不在你的手中?任何外部 API 都不可能以这种格式返回数据,这意味着 Python 脚本必须是您或同事编写的。你或他们应该修复它。
-
您没有访问 Python 的权限,因此您可以使用它来解析数据,然后将其转换为 PHP 可以理解的内容吗?
-
老实说,通过一个小的 Python 脚本 是 IMO 最优雅的方式。否则,您必须在 PHP 中复制 Python 字符串文字解析器,除非绝对必要,否则我不会尝试。