json_encode (json_encode (массив))

Я пытаюсь создать скрипт 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 закодировал объект (?) Как буквальную строку.

Какой лучший способ обойти это?

0

Решение

Нет причин явно иметь json_encode для одного из значений внутри массива. Когда вы используете json_encode, он будет конвертировать каждый уровень массива, как вы ожидаете.

var_dump(json_encode([
11,
123,
1236,
['label' => $car, 'color' => 'skyblue']
]));

Выводит структуру, которую вы хотите:

string(48) "[11,123,1236,{"label":"VW","color":"skyblue"}]"
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]