Modyfikacja pliku JSON i problem z funkcją foreach po zmianach

2018-12-18 14:47
0

Witam.
Dotychczas pracuję w PHP. Muszę zmienić jednorazowo małą rzecz w C# i mam mega problem ze składnią.

Mam 2 jsony:

  1. stary: http://serwer1356363.home.pl/pub/request.json
  2. nowy: http://serwer1356363.home.pl/pub/test.json

Kod C#: https://paste.ofcode.org/RiMt9srMJZrpgeNEzyBNgg

Kiedyś była tablica obiektów (pkt 1), teraz jest pojedynczy obiekt w "data" (pkt 2).
Kod dotychczas działał poprawnie, jednak po zmianie mojego formatu json przestał.

Kompletnie nie znam C# i nie łapię jego składni.
Czy mógłbym prosić o pomoc z przerobieniem tego foreacha - tak, aby apka "weszła" do do środka?

W folderze pub masz dużo rzeczy - warto go przeczyścić. - lubie_programowac 2018-12-18 14:51
fakt :) thx - lukmopy 2018-12-18 14:55

Pozostało 580 znaków

2018-12-18 14:56
0

to jest zmiana praktycznie calego jsona. Watpie zeby ktos za darmo spedzal czas na tym by dostosowac caly kod ktory masz... Deserializacje mozesz zrobic w miare prosto. Masz cos takiego w visual studio jak edit => paste special => json as classes I to CI wygeneruje klasy ktore tam masz uzyte. Wtedy root object uzyjesz do deserializacji

JsonConvert.DeserializeObject<TwojRootObject>(result);

a pozniej musisz kod odpowiednio do tego dostosowac

edytowany 1x, ostatnio: furious programming, 2018-12-18 15:58

Pozostało 580 znaków

2018-12-18 15:05
0

Tzn myślałem czy nie da się tutaj:

foreach (var oc in from res in result.Tasks
select res.Task.Vehicle.Risks
into risks

po prostu zrobić jakiegoś innego selecta? To nie jest takie proste?;)

edytowany 2x, ostatnio: furious programming, 2018-12-18 15:58

Pozostało 580 znaków

2018-12-18 15:51
0

Format nadal pozsotaje JSON wiec sie nie zmienił. Troche myląco to opisałeś. Natomiast zmieniła sie tablica danych. Zasada jest taka ze klas sie nie modyfikuje a jedynie rozszerza. Zmiana kodu spowoduje brak mozliwości odczytu wczesniejszych tablic. Dlatego powinno byc to rozszerzone np o prametr ktory domyslnie okresla dotychczasowe tablice od nowych. I zmienic parser na dane klucze . w zaleznosci co potrzebujesz.

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0