簡體   English   中英

從json_decode獲取多維數組

[英]Getting multidimensional array from json_decode

如何從此JSON響應訪問$ result ['products']?

{"503380":{"response_code":"100","click_id":"10215bdfce7c","product_qty_30":"3","products[0][product_id]":"30","products[0][sku]":"ACMEROCKET","products[0][price]":"32.66"}}

$result = json_decode($result, 1);

那我做的時候

print_r($result['products]);

我剛得到

Notice: Undefined index: products

但是當我這樣做

print_r($result);

我懂了

Array
(
    [503380] => Array
        (
            [response_code] => 100
            [click_id] => 10215bdfce7c
            [product_qty_30] => 3
            [products[0][product_id]] => 30
            [products[0][sku]] => ACMEROCKET
            [products[0][price]] => 32.66
        )

)

我注意到每個產品元素后面都有兩個結尾括號(),但是如何通過以下方式訪問它們

$result['products']

謝謝大家。事實證明,這只是錯誤地傳遞了JSON。

這是不正確的JSON,但如果您確實需要,可以嘗試執行以下操作:

$result = json_decode($json, true);
foreach($result[503380] as $key=>$value) {
    @eval("$" . $key . " = \"" . $value . "\";");
}
var_dump($products);

但這是非常糟糕的做法 因為在json中可能是在服務器上執行的惡意代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM