у меня есть $variable = array(...);
И мне нужно напечатать ответ JSON, подобный этому
{
info: {
"foo": true,
"bar": "lion"
},
data: [
{"id": 123,
"name": "foo",
"baz": { "some":1,
"data":true
}
},
{"id": 321,
"name": "bar",
"baz": {}
}
]
}
Итак, проблема в response["data"][1]["baz"]
Иногда эта переменная может быть пустым массивом {}
, но когда я использую json_encode
, вернуть это как неассоциативный массив []
Мне нужна эта переменная как ассоциативный массив
но если в PHP мы поставим
echo json_encode($variable,JSON_FORCE_OBJECT);
Верните это
{
info: {
"foo": true,
"bar": "lion"
},
data: {
0: {"id": 123,
"name": "foo",
"baz": { "some":1,
"data":true
}
},
1: {"id": 321,
"name": "bar",
"baz": {}
}
]
}
и response["data"]
должны быть неассоциативным массивом
Таким образом,
- вернуть
baz
в виде ассоциативного массива {}
(даже если он пуст, здесь проблема).
- вернуть
data
всегда как неассоциативный массив []
.
response["data"]
должен быть списком, потому что читается внешней библиотекой в javascript