Ici, détails des méthodes pour traiter du json

JSON.parse() JSON.stringify()

JSON example

Tous les exemples basés sur ce JSON

let json = {
    "title":"FeatureCollection",
    "features":[
        {
            "type":"Feature",
            "properties":{
                "addr:housenumber":"41"
            },
            "geometry":{
                "type":"Point",
                "coordinates":[
                    2.27729780000,
                    48.86800100000
                ]
            }
        },
        {
            "type":"Feature",
            "properties":{
                "source":"cadastre-dgi"
            },
            "geometry":{
                "type":"LineString",
                "coordinates":[
                    [
                        2.28275270000,
                        48.87078300000
                    ],
                    [
                        2.28271370000,
                        48.87079570000
                    ]
                ]
            }
        },
        {
            "type":"Feature",
            "properties":{
                "natural":"tree"
            },
            "geometry":{
                "type":"Polygon",
                "coordinates":[
                    2.27501400000,
                    48.87194700000
                ]
            }
        }
    ]
}

load un json

load (requête) transformer le résultat en json (JSON.parse())

Avoir une liste des types de données

let types = [];
    
for (let i=0; i<json.features.length; i++) {
	
let isThere = false;

if(json.features[i].geometry){
    for (let j=0; j<types.length; j++) { 
		if(types[j] == json.features[i].geometry.type){
		    isThere = true;
		} 
	}
    if(isThere == false){
		types.push(json.features[i].geometry.type);
	}
}
	
// console.log(types);

Retrouver les noms de tous les points

    for (let i=0;i<json.features.length;i++) {
	if(json.features[i].geometry){
	    if(json.features[i].geometry.type == "Point"){
	    console.log(json.features[i].properties.name);
	    }
	}
    }

Rechercher le noeud par rapport à la valeur d’une de ses propriétés

const result = json.features.filter(
	item => (item.geometry ? item.geometry.type == "LineString" : null)
);
console.log(result);