Hoe kan ik vierkante brackets gebruiken in mijn JSON object?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Snelle Jaap

Snelle Jaap

24/12/2021 11:45:13
Quote Anchor link
Ik heb een stuk JSON wat er zo uit ziet:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
   "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"
}


Dit bouw ik op vanuit PHP en daarna gebruik ik json_encode.

Mijn vraag is hoe krijg ik binnen 'sides' vierkante brackets?

Voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"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,


Dit is nu hoe ik het sides gedeelte aanmaak met PHP:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?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;
}

?>


En dan maak ik de hele array in JSON via: $json = json_encode($uploadarray);
Gewijzigd op 24/12/2021 11:45:25 door Snelle Jaap
 
PHP hulp

PHP hulp

23/02/2024 23:49:57
 
- Ariën  -
Beheerder

- Ariën -

24/12/2021 12:04:23
 
Rob Doemaarwat

Rob Doemaarwat

24/12/2021 16:57:17
Quote Anchor link
De "sides met vierkante brackets" is een array van arrays. De eerste, buitenste array heeft gewoon een numerieke key (en krijgt dan in JSON vierkante haken) en bevat een verzameling "records". Zo'n record is dan de array op het tweede niveau, en die heeft namen als keys (dit wordt in het Engels ook wel een "hash" genoemd - weer niet te verwarren met een cryptografische hash ...). In JSON wordt dit dan een object met "curly brackets" (of "accolades" in het Nederlands) zodat de "namen" object properties worden.

Als je die in PHP op wilt bouwen doe je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

    $uploadarray
['product_data']['sides'] = []; //dit wordt de buitenste array, met numerieke key
    $uploadarray['product_data']['sides'][] = [ //voeg een record (object/hash) toe
      'id' => 1,
      'name' => 'Frontside',
      'name_nl' => 'Voorkant',
      'template_overlay' => $templateoverlay
    ];
    $uploadarray['product_data']['sides'][] = [ //voeg nog een record (object/hash) toe
      'id' => 2,
      'name' => '2 side en',
      'name_nl' => '2 side nl',
      'template_overlay' => null
    ];
    //enz

?>
Gewijzigd op 24/12/2021 16:58:15 door Rob Doemaarwat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.