Wpis z mikrobloga

@boostasio: a tak btw, jeśli to Twój kod, to zastanów się, czy na pewno musisz używać obiektów dynamic. Jedyne rozsądne zastosowanie dla nich, to magiczne interfejsy COM w pakiecie Office, ewentualnie jakieś parsery z JSON, XML itp.
  • Odpowiedz
@boostasio co masz na myśli? Musisz podejrzeć jaki json idzie do ciebie w responsie, przelejasz tego jsona na tą stronę, on ci wypluwa klasy, które implementujesz u siebie w kodzie. Może masz na myśli bibliotekę, która będzie potrzebna żeby to sparsowac. Będziesz potrzebował newtson'a, chyba tak to się nazywa. W kodzie coś w rodzaju jsonconverter. Serialize gdzie typem generycznym będzie root wyplutej klasy, w parametrze do metody podajesz jsona i to tyle
  • Odpowiedz
@boostasio:
Zapomnij o dynamic. To ostateczność.
Jesli wiesz jaki typ jest przesyłany w tym jsonie to go zwyczajnie zdeserializuj.
Możesz to zrobić w dość łatwo używając:
1) DataContractJsonSerializer dCJsonS = new DataContractJsonSerializer(typeof(NazwaTypu));
referencja w System.Runtime.Serialization.dll
using System.Runtime.Serialization.Json;
NazwaTypu objekt=(NazwaTypu)dCJsonS .ReadObject(StreamZJson);//stream z sieci albo jakikolwiek inny

2)JavaScriptSerializer javaScriptS = new JavaScriptSerializer();
referencja System.Web.Extensions.dll
using System.Web.Script.Serialization;

NazwaTypu objekt =javaScripSeri.Deserialize("string json string ");

Przed deserializacją dobrze jest wstępnie zbadać poprawność Jsnona np za
  • Odpowiedz
@ZapomnialWieprzJakProsiakiemByl: To chyba inną dyskusję czytaliśmy ( ͡° ͜ʖ ͡°). Dobrze napisałeś tylko przed twoją wypowiedzią jasno określił, że nie może wygenerować klasy z jsona bo dane są objęte tajemnicą. Jedyna opcja żeby jej nie generować to samemu napisać taką klasę, jeżeli to jest duży json to nie polecam
  • Odpowiedz