如何将JSON放入PHP变量中?
我试图将JSON信息放入一个PHP变量中,并且我总是得到错误。如何将JSON放入PHP变量中?
这是我的代码,以使JSON可读:
header('Content-Type: application/json'); $jsondecode1 = json_decode($json1);
print_r ($jsondecode1);
这是$jsondecode1
的一个片段:
Array (
[0] => stdClass Object
(
[flightId] => ******
[******] => stdClass Object
(
[******] => ******
[******] => ******
[******] => ******
[******] => ******
[******] => ******
)
注意:当我echo
的jsondecode1
它输出这样的:
阵列到字符串转换 C:\ XAMPP ...... \ simpletest3.php上 线
所以我用print_r()
。
我试图把(例如)[flightId]
到一个PHP变量:
$jsondecode1 = json_decode($json1); $jsondecode2 = $jsondecode1->flightId;
print_r ($jsondecode2);
输出:注意:试图让财产下不发对象的 'FLIGHTID' :. ........ \在线simpletest3.php
我尝试了一些其他的代码也一样,但产出非常相似,我不想让我的问题比需要的时间更长。 那么,如何将(例如)[flightId]
放入PHP变量中。
编辑:
解决方案:
$jsondecode1 = json_decode($json1); $jsondecode2 = $jsondecode1[0]->flightId;
print_r ($jsondecode2);
或者:
foreach ($jsondecode1 as $data) { print_r($data->flightId);
}
回答:
你必须这样做像下面(你显示什么)
$jsondecode1 = json_decode($json1); $jsondecode2 = $jsondecode1[0]->flightId;
echo $jsondecode2;
但是你必须多维阵列,这样做象下面这样: -
$jsondecode1 = json_decode($json1); foreach ($jsondecode1 as $jsondecode) {
echo $jsondecode->flightId; // here you can use echo $flightId = $jsondecode->flightId;
}
回答:
你json包含一个对象数组,而不是1个对象。
$jsondecode1 = json_decode($json1); // loop through all objects in the array
foreach ($jsondecode1 as $data) {
print_r($data->flightId);
}
或者,如果你只是想有数组的第一个对象:
$jsondecode1 = json_decode($json1); $jsondecode2 = $jsondecode1[0]->flightId;
print_r ($jsondecode2);
但接下来的问题是,为什么是JSON数组,而不是一个单一的对象?
你也不能简单地附和或打印出非标量类型(如数组或对象)中,你将不得不使用print_r
。
回答:
您的flightId
位于一个阵列内,whoch索引为0
。所以,你必须首先访问的是数组,那么你可以得到flightId
试试下面的代码:
$jsondecode1 = json_decode($json1); $jsondecode2 = $jsondecode1[0]->flightId;
print_r ($jsondecode2);
以上是 如何将JSON放入PHP变量中? 的全部内容, 来源链接: utcz.com/qa/264369.html