json uitlezen in PHP werkt niet
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"profiles": {
"0": {
"profiletoken": "73E327BEA-B550-4F73-831F-",
"age": {
"description": "Leeftijd",
"answer_type": "numeric_value",
"answerdata": "28"
},
"nickname": {
"description": "Profielnaam",
"answer_type": "text",
"answerdata": "SlamDunk-1981"
},
"1":
"nickname": {
"description": "Profielnaam",
"answer_type": "text",
"answerdata": "stefann2"
}
}
"profiles": {
"0": {
"profiletoken": "73E327BEA-B550-4F73-831F-",
"age": {
"description": "Leeftijd",
"answer_type": "numeric_value",
"answerdata": "28"
},
"nickname": {
"description": "Profielnaam",
"answer_type": "text",
"answerdata": "SlamDunk-1981"
},
"1":
"nickname": {
"description": "Profielnaam",
"answer_type": "text",
"answerdata": "stefann2"
}
}
De data is gevuld met dit soort json data:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$characters = json_decode($data,true); // decode the JSON feed
var_dump($characters);
foreach ($characters as $character) {
// echo print_r($character);
echo $character['profiles'][1];
}
var_dump($characters);
foreach ($characters as $character) {
// echo print_r($character);
echo $character['profiles'][1];
}
Maar de loop zegt :
"e: Undefined index: profiles in"
Ik snap er niks meer van
En wat zegt de var_dump dan?
Volgens mij mis je een s bij de echo. $character in plaats van $characters
@Jeroen: Nee, want in een foreach wil je de array doorlopen. En voor elke iteratie wordt dan $character gebruikt.
Code (php)
Toevoeging op 09/02/2018 11:25:34:
Edit:
Aangezien de data niet erg consistent lijkt zou ik elk element in de array tevens eerst controleren met isset() of deze wel bestaat en een andere waarde dan NULL heeft.
Aangezien de data niet erg consistent lijkt zou ik elk element in de array tevens eerst controleren met isset() of deze wel bestaat en een andere waarde dan NULL heeft.