JSON解码,解析JSON响应和未定义索引


JSON decode, Parse JSON response and Undefined Index

尝试使用一些解码的json数据,但我无法提取它使用。我已经看过其他的例子,应该工作,但没有为我工作。

我错过了什么?

(我试图做什么是在如何解析json响应CURL的第一个答案)

原始JSON

{"CustomerOriginId":123456}
JSON解码:

$result = json_decode($head, true);

Print_R结果(Print_R(结果)美元;):

Array ( [CustomerOriginId] => 123456 ) 

Var_Dump结果(Var_Dump(结果)美元;):

array(1) { ["CustomerOriginId"]=> int(123456) } 

我试图提取数据以供使用:

尝试1

尝试1代码:

$test45 = $result["CustomerOriginID"];
echo $test45;

尝试1错误:

Notice: Undefined index: CustomerOriginID

尝试2

尝试2代码:

$test46 = $result['CustomerOriginID'];
echo $test46;

尝试2结果:

Notice: Undefined index: CustomerOriginID

尝试3

尝试3代码:

$test47 = $result[0]['CustomerOriginID'];
echo $test47;

尝试3结果:

Notice: Undefined offset: 0

尝试4

尝试4代码:

$test48 = $result[1]['CustomerOriginID'];
echo $test48;

尝试4结果:

Notice: Undefined offset: 1

我敢肯定是个小问题,但到目前为止我还没有找到答案。

干杯!

未定义索引通常意味着您以错误的方式访问数组值。索引必须匹配CustomerOriginId,否则将未定义。

试试这个:

$json='{ "CustomerOriginId" : 123456 }';
$result = json_decode($json, true);
$CustomerOriginId = $result['CustomerOriginId'];
echo 'CustomerOriginId = '.$CustomerOriginId;

或无关联数组

$json='{ "CustomerOriginId" : 123456 }';
$result = json_decode($json);
$CustomerOriginId = $result->CustomerOriginId;
echo 'CustomerOriginId = '.$CustomerOriginId;

数组的索引是"CustomerOriginId",而不是"CustomerOriginId"(注意大小写)。

$json  = '{"CustomerOriginId":123456}';
$array = json_decode($json, true);
print $array['CustomerOriginId'];  // outputs 123456

这个适合我:

$x = json_decode('{"CustomerOriginId":123456}', true);
print_r($x); 
print $x['CustomerOriginId'];
输出:

Array
(
    [CustomerOriginId] => 123456
)
123456