Я пытаюсь создать скрипт PHP для генерации данных JSON для пузырьковой диаграммы jqplot. Jqplot образец кода требует данные в формате
var arr = [
[45, 92, 1067, {label:"Alfa Romeo", color:'skyblue'}],
etc.
];
Мой сценарий похож на
while ...
array_push(
$arrBubble,
array(
11,
123,
1236,
json_encode(
array('label' => $car, 'color' => 'skyblue')
)
);
}
echo json_encode($arrBubble);
Проблема в том, что результат
[ [11, 123, 1236, "{\"label\":"VW", \"color\":\"skyblue\"}"] ]
Двойной json_encode закодировал объект (?) Как буквальную строку.
Какой лучший способ обойти это?
Нет причин явно иметь json_encode
для одного из значений внутри массива. Когда вы используете json_encode
, он будет конвертировать каждый уровень массива, как вы ожидаете.
var_dump(json_encode([
11,
123,
1236,
['label' => $car, 'color' => 'skyblue']
]));
Выводит структуру, которую вы хотите:
string(48) "[11,123,1236,{"label":"VW","color":"skyblue"}]"
Других решений пока нет …