有没有办法在 PHP 中解析 Python 列表?
我有来自 Python 的数据存储在 MySQL 中,如下所示:
[{u'hello: u'world'}]
并且需要在PHP脚本中使用它。数据是有效的 JSON,唯一的区别是那些前导的 u'
所以我可以将所有 u'
替换为 '
,然后将所有 '
替换为 "
来获取它到 json 中。当我替换所有内容时,如果实际值中有 '
,它也会被 "
替换并破坏 json。
所以..我尝试了很多东西,但没有一个能够解析正确的json,因此我的问题是:有没有办法在PHP中解析Python生成的列表/类似json的数据?我不介意使用一些第三方库等,只是想解析数据......
最佳答案
如果您有权访问 python,则可以从命令行将其转换为 json。 这是一个例子。
$ echo "{u'key': u'value'}" |\
python -c "import sys, json, ast; print(json.dumps(ast.literal_eval(sys.stdin.read())))"
{"key": "value"}
这是 python oneliner 的更好格式版本:
import sys, json, ast
data = ast.literal_eval(sys.stdin.read())
print(json.dumps(data))
通过使用ast.literal_eval
我们可以评估 python 字典文字,而不是常规的 eval
,而不必担心潜在的代码执行漏洞。
关于php - 使用 PHP 解析 Python 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35177807/