0

私は挿入注文配列を抽出しようとするこの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

4

1 に答える 1

2
$JsonResponse->insertion-orders;

として解析されます

$JSonResponse->insert MINUS orders

-矢印表記を使用してオブジェクト属性名で使用することはできません。それはする必要があります

$JsonResponse->{'insertion-orders'}

代わりは。

有効な JSON であるというコメントについては、Javascript でも機能しなかったでしょう。

json.insertion-orders 

としても見られjson.insertion MINUS ordersます。

于 2013-07-10T20:20:17.167 に答える