Bonjour,
je récupère un ensemble de données capteurs (GPS, T°, RH%, etc...) que je mets en forme dans un fichier mesures.json sur disque dur.
Extrait du fichier avec uniquement latitude et longitude:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
{"positions":[[{"latitude": 43.27216, "longitude": 5.42601}][{"latitude": 43.27282, "longitude": 5.42606}],[{"latitude": 43.27283, "longitude": 5.42667}]]}
Dans mon code je veux exploiter le contenu de ce fichier pour faire de l'affichage sur une page:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
function readFile(input) {
	let fileReader = new FileReader(); 
	fileReader.readAsText(file);
 
	fileReader.onload = function() {
		//JSON.parse() demande d'encadrer lecontenu du fichier
		let data = "'" + fileReader.result + "'";
		console.log(data);
		let myData = JSON.parse(data);
		console.log(myData.positions[0][0].latitude);
		console.log(myData.positions[0][0].longitude);
	}; 
}
Et j'ai donc systématiquement le message d'erreur:
Uncaught SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Le console.log() donne un affichage correct.

Si j'exploite ces mêmes données mais dans une variable locale:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
let myData = '{"positions":[[{"latitude": 43.27216,"longitude": 5.42601}],[{"latitude": 43.27282, "longitude": 5.42606}],[{"latitude": 43.27283, "longitude": 5.42667}]]}';
Ca fonctionne parfaitement...
J'ai déjà consommé pas mal d'heures là-dessus, si quelqu'un a une idée?
Merci.
P.S.: je ne suis pas du tout expert en dev web.