Как изменить формат данных значения json в codeigniter

Я пытаюсь отобразить данные для плагина с предопределенным форматом json, но после попытки данные не соответствуют формату, в чем проблема?

Требуется JSON

[
  {
    latLng: [-6.17343444,1206.834234294],
    name: 'XY'
  },
  {
    latLng: [-6.1742343244,106.898987294],
    name: 'XK'
  }
]

Результат мой JSON

[
  {
    "latLng": "-6.17343444,1206.834234294",
    "name": "XK"
  },
  {
    "latLng": "-6.1742343244,106.898987294",
    "name": "XY"
  }
]

myscript PHP

public function lat_lang() {
    foreach($this->model->name_model() as $row){    
        $data[] = array(
            'latLng' => $row->lat_long,
            'name' => $row->city
          );                                
    }
        header('content-type: application/json');   
        echo json_encode($data);    
}

вызов JSON

$.parseJSON('<?php echo base_url().'mycontrollers';?>', function(datas) {
    console.info(datas);
});
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
118
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать explode() для преобразования строки "-6.17343444,1206.834234294" в массив [-6.17343444,1206.834234294]:

public function lat_lang() {
    foreach($this->model->name_model() as $row){    
        $data[] = array(
            'latLng' => explode(',',$row->lat_long),
            'name' => $row->city
          );                                
    }
        header('content-type: application/json');   
        echo json_encode($data);    
}

Если вы хотите получить числа с плавающей запятой (для всех значений в JSON), вы можете использовать JSON_NUMERIC_CHECK:

json_encode($data, JSON_NUMERIC_CHECK);

Или просто для определенного значения:

$latLng = explode(',', $row->lat_long);
$latLng = array_map('floatval', $latLng);
$data[] = array(
    'latLng' => $latLng,
    'name' => $row->city
  ); 

спасибо, @Syscall спасибо, все еще без изменений, все еще есть цитаты по json result "latLng": ["-6.17343444", "1206.834234294"]

irwan dwiyanto 23.03.2018 09:55

@irwandwiyanto Можно попробовать json_encode($data, JSON_NUMERIC_CHECK);

Syscall 23.03.2018 09:59

@irwandwiyanto Я обновил ответ другим способом принудительного значения с плавающей запятой.

Syscall 23.03.2018 10:00

Другие вопросы по теме