将解码的 Json 对象转换为数组,在访问它时生成错误

发布于 2024-10-27 03:46:59 字数 491 浏览 1 评论 0原文

我解码了一个 json 字符串,然后将其转换为任何数组,并稍后尝试访问它。但它生成 Undefined Index 错误

这是我的示例代码

$json = '{"1":"Active","0":"Inactive"}'; //Yes, it is a valid Json String
$decodedObject = json_decode($json);
$array = (array)$decodedObject;
echo $array['1']; // This generates undefinded Index 1 Error

这是数组和对象的显示

stdClass Object
(
    [1] => Active
    [0] => Inactive
)

Array
(
    [1] => Active
    [0] => Inactive
)

I decoded a json string and then Type casted it into any Array and tried to access it later. But it generate Undefined Index Error

Here is my sample code

$json = '{"1":"Active","0":"Inactive"}'; //Yes, it is a valid Json String
$decodedObject = json_decode($json);
$array = (array)$decodedObject;
echo $array['1']; // This generates undefinded Index 1 Error

Here is the display of the array and object

stdClass Object
(
    [1] => Active
    [0] => Inactive
)

Array
(
    [1] => Active
    [0] => Inactive
)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不甘平庸 2024-11-03 03:46:59

1.) 与其分两步完成,不如这样做:

$decodedArray = json_decode($json, true);

它会直接给你数组而不是对象

2.) 确保你的 json 代码是正确的:

{"1":"Active","0":"Inactive"}

3.) 你的 var_dump 显示那 array{[1]=>.... 那么为什么像 $array['1'] 这样引用它会更简单 $array[ 1]

1.) instead of making it in two steps how about doing it like:

$decodedArray = json_decode($json, true);

it will directly give you the array instead of object

2.) make sure your json code is corret:

{"1":"Active","0":"Inactive"}

3.) your var_dump shows that array{[1]=>.... so why refering it like $array['1'] can it be even simpler $array[1]

戏蝶舞 2024-11-03 03:46:59

不,它不是有效的 JSON 字符串(JSONLint 是你的朋友)。您使用了逗号而不是冒号:

{"1":"Active","0","Inactive"} // invalid
{"1":"Active","0":"Inactive"} // valid

No, it is not a valid JSON string (JSONLint is your friend). You used a comma instead of a colon:

{"1":"Active","0","Inactive"} // invalid
{"1":"Active","0":"Inactive"} // valid
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文