Jak latwo i przyjemnie sparsować złożonego JSON'a?

Jak latwo i przyjemnie sparsować złożonego JSON'a?

Wątek przeniesiony 2018-12-02 07:19 z Webmastering przez Ktos.

kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:4 minuty
  • Postów:926
0

Mam 3 klasy. KlasaA zawiera parę pól i kolekcje KlasaB. KlasaB z kolei zawiera parę pól i kolekcje KlasaC. KlasaC to kilka pól. Wypluwa mi to wszystko (kolekcje obiektów KlasaA) JSON'em Webapi.
Jak to ładnie sparsować w JS, rozbić na pętle. Może ktoś podrzucić jakiś przykład ?


Keep calm and blame frontend.
Tell your cat I said pspsps.
orkin
  • Rejestracja:prawie 7 lat
  • Ostatnio:około rok
  • Postów:24
0

O jakie parsowanie konkretnie Ci chodzi? Javascript do parsowania JSONów ma coś takiego jak

Kopiuj
JSON.parse()

Jeżeli nie o to chodzi, to podrzuć ten Twój JSON i powiedz dokładnie jaki efekt chcesz uzyskać.

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:mniej niż minuta
  • Postów:8423
1

KlasaA zawiera parę pól i kolekcje KlasaB

Co masz dokładnie na myśli przez pola i kolekcje? To są abstrakcyjne pojęcia. Pokaż jak to w kodzie wygląda.

Generalnie masz w JS coś takiego jak JSON.parse i JSON.stringify. Jednak to działa na czystych obiektach, nie odtworzy z automatu instancji klas. Jednak zarówno JSON.parse jak i JSON.stringify mają dodatkowy parametr do tego, żeby podać swoją funkcję de/serializującą
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
wtedy możesz wpływać na to, w jaki sposób rzeczy będą parsowane/stringowane.

Alternatywnie możesz też dodać metodę toJSON do swojej klasy.

Możesz również skorzystać z jakiejś gotowej biblioteki do serializacji JS, która pozwala na zachowanie klas.

JEŚLI ci to w ogóle potrzebne, napisz lepiej co chcesz osiągnać dokładnie, bo może da się to osiągnąć w bardziej prosty sposób.

rozbić na pętle.

Jak to rozbić na pętle?
.


edytowany 1x, ostatnio: LukeJL

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.