我有这个json,我尝试在它上面提取插入顺序数组。
{
"response" : {
"status" : "OK",
"count" : 1,
"insertion-orders" : [{
"id" : 5,
"name" : "First Choice",
"code" : null,
"state" : "active",
"line_items" : [{
"id" :352,
"timezone" : "Europe/London"
}, {
"id" :358,
"timezone" : "Europe/London"
}
],
"labels" : null,
"safety_pacing" : true
}
]
}
}我所做的是TheJson是json字符串:
$Json = json_decode($TheJson);
$JsonResponse = $Json->response;
$OrdersArray = $JsonResponse->insertion-orders;我得到的错误是:
Notice: Undefined property: stdClass::$insertion in /home/foo/a/foo.com/user/htdocs/FunctionManager.php on line 16
Notice: Use of undefined constant orders - assumed 'orders' in /home/foo/a/foo.com/user/htdocs/FunctionManager.php on line 16第16行是:
$OrdersArray = $JsonResponse->insertion-orders;我就是不明白,它是有效的json
发布于 2013-07-11 04:20:17
$JsonResponse->insertion-orders;被解析为
$JSonResponse->insert MINUS orders不能使用箭头表示法在对象属性名称中使用-。它必须是
$JsonResponse->{'insertion-orders'}而不是。
至于你关于它是有效的JSON的评论,它在Javascript中也不会工作:
json.insertion-orders 也将被视为json.insertion MINUS orders。
https://stackoverflow.com/questions/17580131
复制相似问题