gpt4 book ai didi

php - 从 PHP 的 JSON 中去除前导 'u'

转载 作者:太空宇宙 更新时间:2023-11-04 09:08:04 26 4
gpt4 key购买 nike

我尝试用 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'}]}

编辑:我确实在 PHP 中收到“语法错误,格式错误的 JSON”,所以出现了问题,但它可能不是“你”

编辑:不是一个很好的答案,但这对我来说已经完成了:

$json = str_replace("u'", "'", $json);
$json = str_replace("'", '"', $json);

最佳答案

你在这里做错了什么。假设你在 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'}])

你目前正在做的相当于

print repr(data)

你应该这样做:

import json
print json.dumps(data)

您正在解析的字符串不是 JSON,因为它:

  • 在不应该有的地方有一个u
  • 使用 ' 而不是 "
  • 不将None编码为null
  • ...

由于您无法控制数据源,您别无选择,只能对输入调用 python 解释器:

import ast
import json

bad_json = get_from_server()
data = ast.literal_eval(bad_json)
print json.dumps(data)

关于php - 从 PHP 的 JSON 中去除前导 'u',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18153558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com