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

时间:2014-07-25 15:41:26

标签: php json

尝试使用一些已解码的json数据,但我无法将其解压缩使用。我看过其他应该有用的例子,但对我没用。

我错过了什么?

(我正在尝试做How to parse json response from CURL

的第一个回答

原始JSON

{"CustomerOriginId":123456}

JSON解码:

$result = json_decode($head, true);

Print_R结果(print_r($ result);):

Array ( [CustomerOriginId] => 123456 ) 

Var_Dump结果(var_dump($ result);):

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

我确定它很小,但我还没有找到答案。

干杯!

3 个答案:

答案 0 :(得分:0)

未定义索引通常意味着您以错误的方式访问数组值。 索引必须与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;

答案 1 :(得分:0)

这对我有用:

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

输出:

Array
(
    [CustomerOriginId] => 123456
)
123456

答案 2 :(得分:0)

您的数组的索引是" CustomerOriginId",而不是" CustomerOriginID" (注意案例)。

$json  = '{"CustomerOriginId":123456}';
$array = json_decode($json, true);

print $array['CustomerOriginId'];  // outputs 123456