Я пытаюсь сгенерировать объект JSON с использованием PHP, который будет передан клиенту с использованием данных, которые уже хранятся в базе данных MySQL.Создание объекта JSON из многомерного массива, хранящегося в виде строки
База данных содержит список MultiPolygon координат, как показано ниже в одном текстовом поле:
[
[
[
[
104.39209000000005,
-4.850154
],
[
108.17138687500005,
-3.721745195827911
],
[
112.12646500000005,
-1.274309
],
[
103.02978499999995,
-3.579213
]
]
]
]
При попытке сгенерировать объект JSON с использованием json_encode я получаю следующее:
{
"coordinates": "[[[[104.39209000000005,-4.850154],[108.17138687500005,-3.721745195827911],[112.12646500000005,-1.274309],[103.02978499999995,-3.579213]]]]"
}
И из-за котировок вокруг самих координат, они не распознаются JavaScript как объект JSON.
Я попытался взорвать координатную строку, а затем снова установить ее вручную, но для ее работы все еще требуется много хаков. Любая помощь в получении этого вывода в качестве фактического объекта JSON в PHP будет высоко оценена.
Я пытаюсь получить на это:
{
"coordinates": [
[
[
[
104.39209000000005,
-4.850154
],
[
108.17138687500005,
-3.721745195827911
],
[
112.12646500000005,
-1.274309
],
[
103.02978499999995,
-3.579213
]
]
]
]
}
** показать код php **, как вы получаете данные из базы данных, как вы назначаете ее переменной? –
Не могли бы вы просто передать свою строку через 'JSON.parse()'? – Scuzzy
Или через ['json_decode'] (http://us2.php.net/json_decode) на стороне сервера. – user113215