Это мой пример JSON
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
И это php:
<?php
$file = file_get_contents("in.txt");
$json = json_decode($file, true);
/** Пропуск кода json_last_error(). Ошибка: JSON_ERROR_SYNTAX **/
$tasks = $json["tasks"];
foreach ($tasks as $key => $value)
{
echo "<ul>";
echo "<li>".$value['id']."</li>";
echo "<li>".$value['quality']."</li>";
echo "<li>".$value['position']."</li>";
echo "<li>".$value['profile']."</li>";
echo "<li>".$value['type']."</li>";
echo "<li>".$value['valid']."</li>";
echo "<li>".$value['member']['carrier']."</li>";
echo "<li>".$value['member']['zone']."</li>";
echo "<li>".$value['member']['offd']."</li>";
echo "<li>".$value['taketime']."</li>";
echo "<li>".$value['listeners']['count']."</li>";
echo "<li>".$value['taketime']."</li>";
echo "<li>".$value['message']."</li>";
echo "<li>".$value['level']."</li>";
echo "</ul>";
}
?>
Фактически, ошибка не позволяет выполнять код с JSON. Но если вы используете только 1 часть JSON, вот так:
{"tasks" : [
{
"id" : "27604_11",
"quality" : "A4",
"position" : "183567",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type" : "image",
"valid" : "24 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "4minutes",
"listeners" : {
"count" : 0 },
"message" : "stay prepared",
"level" : "High"
},
{
"id" : "27604_12",
"quality" : "B3",
"position" : "183569",
"profile" : "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type" : "image",
"valid" : "11 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "7minutes",
"listeners" : {
"count" : 2 },
"message" : "ready",
"level" : "High"
},
{
"id" : "73754_35",
"quality" : "A3",
"position" : "13542",
"profile" : "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type" : "image",
"valid" : "5 days",
"member" : {
"carrier" : null,
"zone" : null,
"offd" : null },
"taketime" : "22minutes",
"listeners" : {
"count" : 0 },
"message" : "Good",
"level" : "Normale" }
],
"start_poz" : "36774263743"
}
то он РАБОТАЕТ!
Не могли бы вы, пожалуйста, направить меня, где моя ошибка с синтаксисом.. и.. может быть, вы также можете помочь мне понять, как получить значение start_poz с каждым циклом получения значений из массива задач?
Большое спасибо и С Новым Годом ! ;)
У вас есть три отдельных объекта JSON в вашем исходном файле на верхнем уровне. Вам нужно обернуть весь ввод как массив [... ]
или проанализировать каждый отдельно.
Джим понял это правильно, вот исправленный JSON
{
"tasklist": [{
"tasks": [{
"id": "27604_11",
"quality": "A4",
"position": "183567",
"profile": "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type": "image",
"valid": "24 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "4minutes",
"listeners": {
"count": 0
},
"message": "stay prepared",
"level": "High"
}, {
"id": "27604_12",
"quality": "B3",
"position": "183569",
"profile": "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type": "image",
"valid": "11 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "7minutes",
"listeners": {
"count": 2
},
"message": "ready",
"level": "High"
}, {
"id": "73754_35",
"quality": "A3",
"position": "13542",
"profile": "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type": "image",
"valid": "5 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "22minutes",
"listeners": {
"count": 0
},
"message": "Good",
"level": "Normale"
}],
"start_poz": "36774263743"
}, {
"tasks": [{
"id": "27604_11",
"quality": "A4",
"position": "183567",
"profile": "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type": "image",
"valid": "24 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "4minutes",
"listeners": {
"count": 0
},
"message": "stay prepared",
"level": "High"
}, {
"id": "27604_12",
"quality": "B3",
"position": "183569",
"profile": "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type": "image",
"valid": "11 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "7minutes",
"listeners": {
"count": 2
},
"message": "ready",
"level": "High"
}, {
"id": "73754_35",
"quality": "A3",
"position": "13542",
"profile": "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type": "image",
"valid": "5 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "22minutes",
"listeners": {
"count": 0
},
"message": "Good",
"level": "Normale"
}],
"start_poz": "36774263743"
}, {
"tasks": [{
"id": "27604_11",
"quality": "A4",
"position": "183567",
"profile": "https:\/\/example.com\/gallery\/profiles\/8764_2.jpg",
"type": "image",
"valid": "24 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "4minutes",
"listeners": {
"count": 0
},
"message": "stay prepared",
"level": "High"
}, {
"id": "27604_12",
"quality": "B3",
"position": "183569",
"profile": "https:\/\/example.com\/gallery\/profiles\/8232_1.jpg",
"type": "image",
"valid": "11 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "7minutes",
"listeners": {
"count": 2
},
"message": "ready",
"level": "High"
}, {
"id": "73754_35",
"quality": "A3",
"position": "13542",
"profile": "https:\/\/example.com\/gallery\/profiles\/1235_5.jpg",
"type": "image",
"valid": "5 days",
"member": {
"carrier": null,
"zone": null,
"offd": null
},
"taketime": "22minutes",
"listeners": {
"count": 0
},
"message": "Good",
"level": "Normale"
}],
"start_poz": "36774263743"
}]
}
jsonlint.com говорит:
Error: Parse error on line 58:
...z": "36774263743"} { "tasks": [{ "id
----------------------^
Expecting 'EOF', '}', ',', ']', got '{'
Поэтому, когда это дошло до этого '{', это было в состоянии, где только
будет действительным.