У меня есть json результат запроса к базе данных, который выглядит следующим образом:
[
{
"name": 1,
"value": "27.18161362"
},
{
"name": 2,
"value": "323.69645128"
},
{
"name": 3,
"value": "23.16249181"
}
]
Я пытаюсь вставить это в сценарий, который будет создавать диаграммы из данных. Сценарий требует, чтобы данные были в следующем формате:
{"script":
[
{"name":"1","value":27.18161362},
{"name":"2","value":323.69645128},
{"name":"3","value":23.16249181}
]
}
Если они не отформатированы таким образом, сценарий утверждает, что они недействительны json и не содержат valud json head.
В выводе действительно используется допустимый заголовок json, но этого явно недостаточно для сценария, который я использую.
Итак, вопрос в том, как я могу преобразовать json вывод из вызова базы данных, показанный в первом примере, в формате, который сценарий ищет для отображения во втором примере.
Код, который создает json, довольно стандартный:
$stmt = $db3->prepare("SELECT week AS name, SUM(he.earnings) AS value FROM hotspot_earnings he INNER JOIN emrit_hotspots eh ON eh.hotspot_name = he.hotspot_name WHERE year = '2020' GROUP BY year, week");
$stmt->execute();
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
header('Content-type: application/json; charset=UTF-8');
echo json_encode($row, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);