我有一些看起來像這樣的 JSON:
{
"order_id":"59.1595",
"quantity":"1",
"orderline":"61b9f15a158ee",
"customer_id":"59",
"product_thumbnail":"https:\/\/website.nl\/cms\/images\/producten\/deelpaneel\/afbeeldingen\/_deelpaneel_foto_op_rvs.jpg",
"rulers":"cm",
"product_data":{
"id":"custom",
"dpi":"50",
"name":"Deelpaneel",
"size":"1000x550",
"bleed":"10",
"sides":{
"id":1,
"name":"Frontside",
"name_nl":"Voorkant",
"template_overlay":"https:\/\/website.nl\/cms\/images\/producten\/deelpaneel\/templates\/2_deelpaneel_100x55cm1cmafstandhouders.svg"
}
},
"safety":"",
"has_contour":"false",
"preview_link":"",
"redirect_link":"https:\/\/website.nl\/winkelwagen",
"procheck":"n"
}
我用 PHP 創建它并使用json_encode.
我的問題是如何在sides.
就像在這個例子中:
"sides": [
{
"id": 1,
"name": "Frontside",
"name_nl": "Voorkant",
"template_overlay": null
},
{
"id": 2,
"name": "2 side en",
"name_nl": "2 side nl",
"template_overlay": null
},
{
"id": 3,
"name": "3 side en",
"name_nl": "3 side nl",
"template_overlay": null
}
],
"safety": 10,
這就是我使用 PHP 創建該部分的方式:
<?PHP
if(!empty($uploadarray['product_data']['sides'])){
// Multiple sides
}else{
$uploadarray['product_data']['sides']['id'] = 1;
$uploadarray['product_data']['sides']['name'] = 'Frontside';
$uploadarray['product_data']['sides']['name_nl'] = 'Voorkant';
$uploadarray['product_data']['sides']['template_overlay'] = $templateoverlay;
}
?>
然后我創建了整個 JSON: $json = json_encode($uploadarray);
我讀過你需要將它包裝在另一個陣列中,但我無法讓它作業。
例如:
array(array($uploadarray['product_data']['sides']['id'] = 1));
或者
array($uploadarray['product_data']['sides']['name'] = 'Frontside');
只需輸出相同的json結果。
uj5u.com熱心網友回復:
首先創建你的陣列
$side = [
'id' => 1,
'name' => 'Frontside',
'name_nl' => 'Voorkant',
'template_overlay' => $templateoverlay
];
然后,添加它:
// Check this -----------------------vv
$uploadarray['product_data']['sides'][] = $side;
uj5u.com熱心網友回復:
您的$sides變數不包含具有多個物體的陣列,而只包含一個“字典”(一個 JSON 物件)。如果您例如添加一個回圈,它應該可以作業:
<?php
// loop over whatever generates the sides
$sides_array = [];
$sides_array['id'] = 1;
$sides_array['name'] = 'Frontside';
$sides_array['name_nl'] = 'Voorkant';
$sides_array['template_overlay'] = $templateoverlay;
if(empty($uploadarray['product_data']['sides'])){
// initialize "sides"
$uploadarray['product_data']['sides'] = [];
}
$uploadarray['product_data']['sides'][] = $sides_array;
?>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/394294.html
上一篇:我無法將JSON更改為PHP陣列
