![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mam dane json, przykładowo:
Zapisuje je do bazy MySQL, do pola typu json. I po zapisie w polu mam wartość:
Jak widać przy zapisie dane zostały znormalizowane - posortowane wg. klucza. Czy da się to jakoś wyłączyć tak aby kolejność kluczy z oryginalnego json została zachowana również w polu tabeli MySQL? Powyższy json to tylko przykład, w rzeczywistości danych jest więcej i są dynamiczne (różne wartości i kolejności). Dane mają wyświetlane dokładnie wg. tej kolejności jak mam w oryginale - posortowanie przy zapisie to uniemożliwia. Ten post edytował jol.us_ 18.10.2017, 11:55:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 0 Dołączył: 10.12.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
No to bryndza (IMG:style_emoticons/default/sad.gif)
Liczyłem, że może da sie to jakoś wyłączyć w konfiguracji bd. Tablice numerowane mnie nie urządzają bo potem nie będę się mógł do nich odwoływać przez json_extract(pole, '$.klucz') Dane są dynamiczne, za każdym razem inne, jedynie nazwy kluczy maja znaczenie. Jakiś pomysł jak sobie z tym poradzić inaczej? Nie wierze, że tylko ja z tym mam problem. Może jako osobny obiekt json dawać kolejność, na zasadzie:
Zapisz jako tekst (przykładowo mariadb i tak json aliasuje do longtext). Tak miałem pierwotnie. I wszystko pięknie działa. Problem mam jednak z wyszukiwaniem. W polach typu json mogę szukać w określonych kluczach, w polu tekstowych już nie. @viking ale wowczas przy decode i tak dostanie zmieniona kolejnosc. Moze nie za pierwszym razem, moze nie za drugim, ale w koncu dostanie. Hmm... nie spotkałem się. Zawsze dekoduje mi w tej samej kolejności co ma w obiekcie. Ten post edytował jol.us_ 18.10.2017, 12:55:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 02:06 |