Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Array to property Object in Javascript

I need some help please.

I have this array in php:

Array ( 
    [0] => Array ( 
        [name] => Ville1 
        [description] => adresse1 
        [lng] => -10.35 
        [lat] => 29.1833 
    ) 
    [1] => Array ( 
        [name] => Ville2 
        [description] => description2 
        [lng] => 12.61667 
        [lat] => 38.3833 
    ) 
) 

How can I transform it in this format and add in a objet in javascript ?

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

locations: {
    "0": {
      lat: "48.3833",
      lng: "12.61667",
      name: "Ville1",
      description: "adresse1"
    },
    "1": {
      lat: "29.1833",
      lng: "-10.35",
      name: "Ville2",
      description: "adresse2"
    }
  },

Thanks and sorry for the english..

>Solution :

The solution is simple. The only think you have to do, is to pass the array to the php function json_encode.

This will convert automatically your array to JSON.

The same way, you could also convert PHP Objects to JSON.

Finally, there’s also another function of PHP with the name json_decode that does the opposite. If you have a JSON string, you can convert it to PHP Array or Object.

The only difference, is that when you convert JSON objects, in PHP you get stdClass instances.

<?php

$array = [
    [
        "name" => "Ville1",
        "description" => "adresse1",
        "lng" => -10.35,
        "lat" => 29.1833
    ],
    [
        "name" => "Ville2",
        "description" => "description2",
        "lng" => 12.61667,
        "lat" => 38.3833
    ]
];

$jsonStructure = json_encode($array);

?>
<script>
var locations = <?php echo $jsonStructure; ?>;

// The following line should print in your browser console 
// the word: Ville1
console.log(locations[0].name);
</script>
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading