'{"primary":"apple"}' 然后我将其解码为数组: $decoded = json_decode($-6ren">
gpt4 book ai didi

php - 无法使用指定的键从数据库访问解码的 json 数据

转载 作者:行者123 更新时间:2023-11-29 19:31:23 25 4
gpt4 key购买 nike

我的数据库中存储了一个 json 数据,如下所示:

'field_data" => '{"primary":"apple"}'

然后我将其解码为数组:

$decoded = json_decode($query['field_data'],1);
echo $decoded['primary'];

我得到的结果是:

Undefined index: primary

如果我尝试调试它,我可以看到该值。我尝试在不查询数据库的情况下解码数据来隔离我的问题

$data = '{"primary":"apple"}';
$decoded = json_decode($data,1);
echo $decoded['primary'];

而且效果很好。如何使用键从查询数据中访问值?

最佳答案

这里 'field_data"=> '{"primary":"apple"}' 包装 field_data 你已经放置了一个 ' 和一个。我认为它们都需要是 '"

喜欢'field_data' => '{"primary":"apple"}'

好的,如果我的理解正确的话,你在数据库中保存了一个字符串,它看起来像一个数组,并且你正在尝试通过$访问它query['field_data'] 你不能这样做。

字符串看起来像数组字符串不同。

如果您正在使用当前的实现,则可以采用这种方法。

$str = '"field_data" => "{"primary":"apple"}"';
list($fieldName, $json) = explode('=>', $str);
var_dump($str,$fieldName, $json);

即使如此,您也需要清理$json,因为它仍然是一个字符串

但我建议使用 serialize 保存您的数据然后通过unserialize访问。然后您就可以完全控制您的数据。

关于php - 无法使用指定的键从数据库访问解码的 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753623/

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