One*_*oob 1 php python json character-encoding
我有以下我正在尝试用PHP解析
它是JSON,但带有'u'(可能是python指标,但我不确定)将这些变为有效JSON的最快方法是什么?或者这是PHP应该能够解析的有效JSON吗?
{u'_id': u'fruit',
u'etags': [{u'score': 3.612, u'tag': u'apple'},
{u'score': 1.443, u'tag': u'banana'},
{u'score': -0.833, u'tag': u'cherry'},
{u'score': -2.048, u'tag': u'orange'}]}
Run Code Online (Sandbox Code Playgroud)
编辑:我在PHP中得到一个"语法错误,格式错误的JSON",所以有些东西是关闭的,但它可能不是'你'
编辑:不是一个很好的答案,但这是为我完成的技巧:
$json = str_replace("u'", "'", $json);
$json = str_replace("'", '"', $json);
Run Code Online (Sandbox Code Playgroud)
你这里做错了什么.假设你在python中有这样的东西
data = {u'_id': u'fruit',
u'etags': [{u'score': 3.612, u'tag': u'apple'},
{u'score': 1.443, u'tag': u'banana'},
{u'score': -0.833, u'tag': u'cherry'},
{u'score': -2.048, u'tag': u'orange'}])
Run Code Online (Sandbox Code Playgroud)
你现在正在做相当于
print repr(data)
Run Code Online (Sandbox Code Playgroud)
你应该这样做:
import json
print json.dumps(data)
Run Code Online (Sandbox Code Playgroud)
您正在解析的字符串不是JSON,因为它:
u不应该的地方'而不是"None为null由于您不控制数据源,您别无选择,只能在输入上调用python解释器:
import ast
import json
bad_json = get_from_server()
data = ast.literal_eval(bad_json)
print json.dumps(data)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
487 次 |
| 最近记录: |