Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/103: Рейтинг темы: голосов - 103, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11

Почему дробные числа в JSON заключаются в кавычки?

23.06.2016, 14:52. Показов 21241. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!Подскажите пожалуйста вывожу json_encode(); массив
JSON
1
{"type":"FeatureCollection","features":[{"type":"Feature","id":"174","geometry":{"type":"Point","coordinates":["57.0052451901459201, 40.9434523353066406"]},"properties":{"balloonContent":"22222","clusterCaption":"22222","hintContent":"2222"}},{"type":"Feature","id":"175","geometry":{"type":"Point","coordinates":["57.00521901459201, 40.9423353066406"]},"properties":{"balloonContent":"22222","clusterCaption":"22222","hintContent":"2222"}}]}
и в строчке "coordinates":["57.00521901459201, 40.9423353066406"] координаты заключаются в кавычки!Как сделать так что бы кавычки не подставлялись?Помогите пожалуйста!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.06.2016, 14:52
Ответы с готовыми решениями:

json и кавычки
день добрый. никак не могу сообразить в чем загвоздка мне нужно передать массив в функцию кнопки получаю json_encode ...

JSON.parse и экранированные кавычки
Код var temp = JSON.parse(''); выдаёт ошибку SyntaxError: JSON.parse: expected ',' or '}' after property value in object at line 1...

Цикл: В ячейки Excel записываются целые числа. Как исправить, чтобы числа были дробные?
Программа считает в цикле Y при заданных х и находит максимум и минимум функции. В ячейки Excel записывает не правильно целые числа Y....

19
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
23.06.2016, 16:19
JSON не может хранить числа с плавающей запятой. Поэтому он представляет их как строку. Все правильно работает.
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
23.06.2016, 16:21  [ТС]
А как же сделать вывод без кавычек?
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
23.06.2016, 16:24
Во-первых на каком языке программирования вы это пытаетесь реализовать?
А во-вторых считывайте как строку, а дальше преобразовывайте ее в координаты. Используйте приведение типов.
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
23.06.2016, 16:27  [ТС]
Вывожу php из Mysql координаты передаю на карту Яндекса!Бес кавычек всё работает хорошо если указать в массиве напрямую координаты!
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
23.06.2016, 16:34
После того, как считали данные, но перед тем как передать яндексу координаты преобразовывайте их из строк в числа.
1
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
23.06.2016, 16:40  [ТС]
Да я уже это делал!Приведение типы (Float) к координатам удаляет запятую посередине и выдаёт первую координату перед запятой!
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
23.06.2016, 16:45
tim11111, ну удалите первый и последний символ строки (кавычки), разбейте ее на две части и тогда преобразовывайте.
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
23.06.2016, 16:53  [ТС]
Побывал кавычки создаются в самом массиве не регулярками ни чем не убираются!Вот если напрямую прописать то всё норм встаёт без кавычек!А вот через переменную добавляются кавычки!
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
23.06.2016, 17:09
Либо я что-то не понимаю, либо всё нормально:
PHP
1
2
3
4
<?php
    echo json_encode([
        'coordinates' => [40.11279381, 70.32721320]
    ]);
Выводит:
Code
1
{"coordinates":[40.11279381,70.3272132]}
Числа не в кавычках.

Добавлено через 2 минуты
Или откуда берёте эти координаты? Как они в базе хранятся? Распечатку массива php покажите.
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
23.06.2016, 17:28  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 $coordinates = '57.0052190451459201, 40.942335367066406';
$returnValue =  array(
                  'type' => 'FeatureCollection',
                  'features' => 
                  array(
                    0 => 
                    array(
                      'type' => 'Feature',
                      'id' => $id_add,
                      'geometry' => 
                      array(
                        'type' => 'Point',
                        'coordinates' => 
                        array(
                          0 => $coordinates,
                         
                        ),
                      ),
                      'properties' => 
                      array(
                        'balloonContent' => '22222',
                        'clusterCaption' => '22222',
                        'hintContent' => '2222',
                      ),
                    ),
                  ),
                );
    
        
    echo json_encode($returnValue);
Попробуй вот это!Выводит координаты с кавычками
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
23.06.2016, 17:45
Само собой, у Вас же они в строке хранятся. К тому же оба значение в одной. Неудивительно, что php их преобразует именно как строку.
PHP
1
$coordinates = array(57.0052190451459201, 40.942335367066406);
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
23.06.2016, 17:53  [ТС]
Что бы вы посоветовали сделать?Приведение к нужному типу теряется разделитель запятая!э
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
24.06.2016, 06:25
Вы пробовали сделать, как я показал в сообщении #12?
0
0 / 0 / 0
Регистрация: 23.06.2016
Сообщений: 11
24.06.2016, 10:23  [ТС]
Да пробовал!Но это так же что и в самом массиве указать на прямую координаты!Если в ваш пример вывести из базы данных то кавычки ставятся!
0
Software Engineer
 Аватар для Custos
328 / 328 / 54
Регистрация: 23.09.2014
Сообщений: 976
24.06.2016, 10:29
tim11111, а теперь немного "магии"
Миниатюры
Почему дробные числа в JSON заключаются в кавычки?  
0
Software Engineer
 Аватар для Custos
328 / 328 / 54
Регистрация: 23.09.2014
Сообщений: 976
24.06.2016, 10:31
Цитата Сообщение от tim11111 Посмотреть сообщение
Да пробовал!Но это так же что и в самом массиве указать на прямую координаты!Если в ваш пример вывести из базы данных то кавычки ставятся!
В работе с MySQL все данные выводятся как string. В том числе и float.
0
Software Engineer
 Аватар для Custos
328 / 328 / 54
Регистрация: 23.09.2014
Сообщений: 976
24.06.2016, 10:38
Пример:
Миниатюры
Почему дробные числа в JSON заключаются в кавычки?   Почему дробные числа в JSON заключаются в кавычки?   Почему дробные числа в JSON заключаются в кавычки?  

Почему дробные числа в JSON заключаются в кавычки?  
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
24.06.2016, 10:40
Custos, у него два числа в одном элементе массива:
Code
1
"coordinates":["57.00521901459201, 40.9423353066406"]
Даже при учёте, что заместо числа с плавающей точкой мы из базы получим строку, у нас должно получиться вот что:
Code
1
"coordinates":["57.00521901459201", "40.9423353066406"]
То есть в кавычках, но как разные элементы массива.
Либо автор темы хранит эти два числа в одной ячейке в базе, либо я вообще ничего не понимаю.
0
Software Engineer
 Аватар для Custos
328 / 328 / 54
Регистрация: 23.09.2014
Сообщений: 976
24.06.2016, 11:02
Para bellum, скорее всего в одной
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.06.2016, 11:02
Помогаю со студенческими работами здесь

Дробные числа
Дpoбныe числa oкpyглить дo 2 знaкoв пoслe зaпятoй как это можно сделать. к примеру число 23.333 его нужно округлить до 2 знаков или...

Дробные числа
Добрый вечер. Помогите мне пожалуйста в этом задании: Нужно создать класс Fraction для работы с дробными числами. Число должно быть...

Дробные числа, С++
Уважаемые знатоки, требуется ваша помощь. Передо мной стоит задача посчитать приблизительную сумму ряда, путем вычисления частичных сумм....

Дробные числа
Задание: Напишите функцию main(), которая получает случайные дробные числа от пользова- теля, сохраняет их в массиве типа fraction,...

Дробные числа
пишу в Builder C++ нужно дробное число отображать в едите получается примерно так: double x; x=0.55; String y; y=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru