У меня есть структура данных, которая на верхнем уровне представляет собой словарь и содержит списки.Типичным примером может быть:
array('foo' => array(1, 2, 3),
'bar' => array(4, 5, 6));
Словарь верхнего уровня может не иметь атрибутов, а внутренние списки могут быть пустыми.
Эти структуры должны быть в JSON-кодировке.Проблема в том, что PHP не делает различий между пустым словарем и пустым списком, поэтому он не знает, должен ли array () отображаться как '{}' или '[]'.Я могу вызвать '{}', выполнив
json_encode($object, JSON_FORCE_OBJECT);
, но это отобразит
array('foo' => array());
как '{"foo": {}}', когда должно быть '{"foo": []} '.Если я опущу JSON_FORCE_OBJECT, то
array();
будет отображаться как '[]', тогда как должно быть '{}'.Какое решение, кроме как бросить PHP и написать это на нормальном языке?