Beste,

Ik wil data inladen via een json file.
Maar door dat de json file begint met [ en eindigt met ].
kan ik de data niet inladen

hopelijk kunnen jullie me helpen.
Alvast bedankt

myfile.json:

[{"id":"011111","name":"BMW"}]


$json = file_get_contents('myfile.json');

  
$data = json_decode($json);

echo $data->id;
echo "\n";
  
echo $data->site;
probeer eens

<?php
$json_in = file_get_contents('myfile.json');

$json = '{"foo":' . $json_in . '}';

$data = json_decode($json);

echo '<pre>' . print_r($data, 1) .'</pre>';

?>

Ivo P op 28/09/2021 10:54:06

probeer eens

<?php
$json_in = file_get_contents('myfile.json');

$json = '{"foo":' . $json_in . '}';

$data = json_decode($json);

echo '<pre>' . print_r($data, 1) .'</pre>';

?>




Super alvast bedankt.
Het werkt
dit is natuurlijk wel een pleister-methode.
De vraag blijft: waarom de json-file er zo uitziet.
Dat is dan JSONp
Ik begrijp het probleem niet helemaal. Die haakjes geven een array aan. Dat heb je niet alleen in PHP maar ook in JSON. De string is valide.

<?php
foreach (json_decode('[{"id":"011111","name":"BMW"}]') as $object) {
  print $object->id . ': ' . $object->name . PHP_EOL;
}
?>

Output:
011111: BMW

Reageren