![]() |
![]() |
![]()
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: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Kod {"kolor": "#ffffff", "zdjecie": "test.jpg", "tytul": "Tytul", "kolejnosc":[{"0":"tytul", "1":"kolor", "2":"zdjecie" }]} A nie prościej byłoby: Kod {"kolor": {wartosc: "#ffffff", kolejnosc: 2}, "zdjecie": {wartosc: "test.jpg", kolejnosc: 3}} Lub: Kod {2: {klucz: "kolor", wartosc: "#ffffff"}, 0: {klucz: "tytuł", wartosc: "Tytuł"} I jak najmniej logiki w bazie danych, bo to się potem mści (szczególnie w MySQL, bo ta baza ma tą cudowną właściwość, że np. zamiast zwrócić komunikat błędu to po prostu przytnie sobie string gdy jest za długi). Jeśli tylko jest to możliwe, to powinniśmy unikać zapisywania danych w taki sposób. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 29.09.2025 - 10:31 |