如何将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

(

[******] => ******

[******] => ******

[******] => ******

[******] => ******

[******] => ******

)

注意:当我echojsondecode1它输出这样的:

阵列到字符串转换 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

回到顶部