|
|
|
Проблемы с новым типом данных JSON
|
|||
|---|---|---|---|
|
#18+
PCContraПомогает только костыли в виде: Код: php 1. 2. 3. 4. 5. 6. Т.е. надо заранее знать, какое поле у тебя json, какое -нет. Печаль полная ерунда. а если бы само распаковало в масив, можно было бы работать с масивом и незнать, где у вас джейсон? всмысле покажите запрос которым вы сделали запись в базу, понятия не имея где джейсон а где нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2014, 13:55:58 |
|
||
|
Проблемы с новым типом данных JSON
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Для такого результат как хочет автор, можно реализовать свой парсер на PLPG. Создал себе PLPg функцию, которая в качестве входящего параметра получает запрос, и возвращает текст. При выполнении запроса в теле функции, можно проверить тип данных. Если он JSON. то не сложными манипуляциями, в самом теле можно сформировать нужный JSON ответ с использованием row_to_json. Также можно привести hstore к JSON. Полученный ответ пропускаем через json_decode. И вуаля, на выходе имеем обьект/массив с учетом значений столбцов JSON. И самое главное с сохранением типов данных. Т.е если у меня где то столбец bool, то я в php тоже получу bool после json_decode, а не дескриптор в виде 'f' или 't'. Конечно приходится использовать EXECUTE. Но при формировании логики на процедурах, без него все равно не обойтись. Тут уже нужно исходит из ситуации, стоит ли игра свеч. Но зато, задача автора решается 100%. И не важно используете ли вы PDO или что то другое. Потому как с БД вы получает varchar который уже содержит сформированный JSON В PHP это может выглядеть так.: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2014, 13:26:46 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38683401&tid=1998610]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
204ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 481ms |

| 0 / 0 |
