将 json 数据更改为简单的 php 数组
change json data to simple php array
我想将一些 JSON 对象数据 更改为 PHP 数组
数组我有:-
'line_items' =>
array (
0 => '{"title":"ADIDAS | KID\'S STAN SMITH - 1 / white","product_id":1395863355492,"price":90,"variant_id":12486979027044,"quantity":2,"applied_discount":{"title":"DISCOUNT"}}',
1 => '{"title":"ADIDAS | CLASSIC BACKPACK - OS / black","product_id":1395863945316,"price":70,"variant_id":12486982500452,"quantity":5,"applied_discount":{"title":"DISCOUNT","value_type":"fixed_amount","value":"10.00","amount":"50.00"}}',
2 => '{"title":"Activity Auto - small / white","product_id":1396022444132,"price":14.99,"variant_id":12488662089828,"quantity":4,"applied_discount":{"title":"DISCOUNT"}}',
),
预期数组:
'line_items' =>
array (
0 =>
array (
'title' => 'ADIDAS | KID\'S STAN SMITH - 1 / white',
'product_id' => '1395863355492',
'price' => '90',
'variant_id' => '12486979027044',
'quantity' => '2',
'applied_discount' =>
array (
'title' => 'DISCOUNT',
),
),
1 =>
array (
'title' => 'ADIDAS | CLASSIC BACKPACK - OS / black',
'product_id' => '1395863945316',
'price' => '70',
'variant_id' => '12486982500452',
'quantity' => '5',
'applied_discount' =>
array (
'title' => 'DISCOUNT',
'value_type' => 'fixed_amount',
'value' => '10.00',
'amount' => '50.00',
),
),
2 =>
array (
'title' => 'Activity Auto - small / white',
'product_id' => '1396022444132',
'price' => '14.99',
'variant_id' => '12488662089828',
'quantity' => '4',
'applied_discount' =>
array (
'title' => 'DISCOUNT',
),
),
),
试试这个:
for ($i = 0; $i < count($arr_you_gave['line_items']); ++$i) {
$arr_you_gave['line_items'][$i] = json_decode($arr_you_gave['line_items'][$i], true);
}
或者您不想使用任何循环...
$corp_array = '[' . implode(',', $arr_you_gave['line_items']) . ']';
$arr_you_gave['line_items'] = json_decode($corp_array, true);
我想将一些 JSON 对象数据 更改为 PHP 数组
数组我有:-
'line_items' =>
array (
0 => '{"title":"ADIDAS | KID\'S STAN SMITH - 1 / white","product_id":1395863355492,"price":90,"variant_id":12486979027044,"quantity":2,"applied_discount":{"title":"DISCOUNT"}}',
1 => '{"title":"ADIDAS | CLASSIC BACKPACK - OS / black","product_id":1395863945316,"price":70,"variant_id":12486982500452,"quantity":5,"applied_discount":{"title":"DISCOUNT","value_type":"fixed_amount","value":"10.00","amount":"50.00"}}',
2 => '{"title":"Activity Auto - small / white","product_id":1396022444132,"price":14.99,"variant_id":12488662089828,"quantity":4,"applied_discount":{"title":"DISCOUNT"}}',
),
预期数组:
'line_items' =>
array (
0 =>
array (
'title' => 'ADIDAS | KID\'S STAN SMITH - 1 / white',
'product_id' => '1395863355492',
'price' => '90',
'variant_id' => '12486979027044',
'quantity' => '2',
'applied_discount' =>
array (
'title' => 'DISCOUNT',
),
),
1 =>
array (
'title' => 'ADIDAS | CLASSIC BACKPACK - OS / black',
'product_id' => '1395863945316',
'price' => '70',
'variant_id' => '12486982500452',
'quantity' => '5',
'applied_discount' =>
array (
'title' => 'DISCOUNT',
'value_type' => 'fixed_amount',
'value' => '10.00',
'amount' => '50.00',
),
),
2 =>
array (
'title' => 'Activity Auto - small / white',
'product_id' => '1396022444132',
'price' => '14.99',
'variant_id' => '12488662089828',
'quantity' => '4',
'applied_discount' =>
array (
'title' => 'DISCOUNT',
),
),
),
试试这个:
for ($i = 0; $i < count($arr_you_gave['line_items']); ++$i) {
$arr_you_gave['line_items'][$i] = json_decode($arr_you_gave['line_items'][$i], true);
}
或者您不想使用任何循环...
$corp_array = '[' . implode(',', $arr_you_gave['line_items']) . ']';
$arr_you_gave['line_items'] = json_decode($corp_array, true);