/ / Czy powinienem przenosić duże obiekty blob w formacie JSON czy w oddzielnym połączeniu binarnym? - iphone, json, blobs

Czy należy przenosić duże bloby danych w JSON lub w oddzielnym połączeniu binarnym? - iphone, json, blobs

PYTANIE:

Czy lepiej jest wysyłać duże obiekty blob w formacie JSON dla uproszczenia, czy też jako dane binarne przez oddzielne połączenie?

Jeśli to pierwsze, czy możesz zaoferować wskazówki, jak zoptymalizować JSON, aby zminimalizować rozmiar?

Jeśli to drugie, to warto logiczniepołączyć dane JSON z danymi binarnymi za pomocą identyfikatora, który pojawia się w obu, np. jako „dane”: „<unikalny identyfikator>” w formacie JSON oraz z pierwszymi bajtami obiektu blob danych będącymi <unikalnym identyfikatorem>?

KONTEKST:

Moja aplikacja na iPhone'a musi odbierać dane JSON przez sieć 3G. Oznacza to, że muszę poważnie pomyśleć o wydajności przesyłania danych, a także o obciążeniu procesora.

Większość transferów danych to stosunkowo małe pakiety danych tekstowych, dla których JSON jest formatem naturalnym i dla których nie ma sensu martwić się zbytnio o wydajność.

Jednak niektóre z najbardziej krytycznych transferów będąbyć dużymi plamami danych binarnych - zdecydowanie co najmniej 100 kilobajtów danych i prawdopodobnie bliżej 1 megabajta, ponieważ klienci gromadzą dłuższą historię z produktem. (Uwaga: będę buforować to, co mogę, na samym iPhonie, ale dane nadal muszą zostać przesłane przynajmniej raz). NIE jest to przesyłanie strumieniowe danych.

Prawdopodobnie użyję zewnętrznego zestawu JSON SDK - ten, którego używam podczas programowania, to tutaj.

Dzięki

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz spróbować skompresować JSON (być może gz) przed wysłaniem, a następnie zdekompresować go po stronie klienta.

Ale nie jestem pewien, jak to wpływa na wydajność iPhone'a.