Сейчас у меня есть АЯКС вызов, который возвращает мне это:Javascript/JQuery удалить кавычки из особенностей JSON значений
"nodes":
[
{"ID":"87","score":"-0.2","dscore":"-0.4","x":"250","y":"250","name":"TEST","ticker":"TEST","datafrom":"0000-00-00","r":"28","fixed":"true","color":"grey"}
]
Когда мне это нужно
"nodes":
[
{"ID":"87","score":"-0.2","dscore":"-0.4","x":250,"y":250,"name":"TEST","ticker":"TEST","datafrom":"0000-00-00","r":"28","fixed":"true","color":"grey"}
]
Таким образом, реальная разница между "x"
и "y"
значения, первый пример: у них двойные кавычки, во вторых - нет. Я использую это для d3.js
, поэтому он должен быть без кавычек, и я тяну много, это была только одна строка. Поэтому я могу разобрать это через php/ajax/javascript, что бы ни было наиболее эффективным. Как бы я продолжал разбирать все это?
Редактировать: Я сказал php, поскольку я использую php, чтобы захватить эту информацию из базы данных, после чего я делаю json_encode($str)
, так что она тоже паразита.
У меня есть полный контроль над стороной, которая генерирует данные, однако я ее вообще не разбираю. Я делаю это вот так: '$ grabme = $ db-> query (" SELECT * FROM sometable WHERE somecol = '$ somecol' ORDER BY ID DESC "); $ res = $ grabme-> fetchAll (PDO :: FETCH_ASSOC); $ data ['nodes'] = $ res; ' Который я в основном эхо как json позже. Хотел бы я итерации по массиву '$ data ['nodes']' и удалять кавычки вокруг значений 'x' и' y'? Каким будет самый эффективный способ сделать это, не нарушая остальную часть порядка данных? –
Ах, да, я столкнулся с этой точной проблемой в одном из наших маленьких скриптов python, и мы исправили ее, используя способность python lib указывать типы разных полей, поэтому при получении результатов они уже были бы приписаны к нужному типу (что также сэкономило много времени на ручной конвертации). Я не знаю, возможно ли это или нет с PDO PHP (сомневайтесь в нем). Но если вы определенно знаете, какие поля должны быть целыми/float в ответе (x, y в нашем примере), тогда просто преобразуйте их вручную сразу после их извлечения: –
'' 'foreach ($ data ['nodes'] as $ k => $ v) {$ v ['x'] = intval ($ v ['x']); $ v ['y'] = intval ($ v ['y']); $ data ['nodes'] [$ k] = $ v; } '' ' –