Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika unxtres w Programowanie

Debiutant

w Programowanie

4piorunów

robie okienkowe gui do api i elegancko zapytanie mi zwraca jsona potem robie obiekt:

var data = (JObject)JsonConvert.DeserializeObject(json);

i jak potrzebuje jakiś value to pobieram go sobie przez np.

jakisValue = data["Key"].Value<string>();

no i elegancko, ale kurde nie wiem jak mam wyciągnąc value z klucza który jest w drugim poziomie np:

json = @”{
“”FirstName””:””Aditya””,
“”MiddleName””:””Ashok””,
“”LastName””:””Somwanshi””,
“”Phone””:[“”9004802526″”,””34304235″”],
“”Address””:{“”Primary””:””Panvel””, “”Secondary””:””Cloudfronts””}
}”

i z tego chciał bym wyciagnać np. secondary address.

Komentarze (6)

Mocarz3piorunów

@Krushynka w js to nie wiem czy można silnie typowane klasy, no chyba że jakiś typescript
ale na js się nie znam za dużo, ja to dotnetowiec ( ͡~ ͜ʖ ͡°)

Kosmonauta3piorunów

@JuanPabloSegundo a w js można to zrobić za pomocą lodasha na przykład? Orientujesz się może?

Debiutant5piorunów

@Dissociated @JuanPabloSegundo
Dzięki chłopaki. Właśnie czytałem o tym i ciężko mi było to zrozumieć. Ucze się na bieżąco piszac kod, a nie tylko teoria. Do tego praca i człowiek trochę rozkojarzony. Szkoda ze nie ma czasem kogo zapytać bezpośrednio o jakiś szczegół, było by łatwiej 😉

Mocarz3piorunów

@unxtres w c# możesz sobie łatwo tego jsona deserializować w klasę i elegancko wyciągać przez linq albo nawet propertki.

z tego co wkleiłeś to klaska by wyglądała mniej więcej tak:

public class Address
{
public string Primary { get; set; }
public string Secondary { get; set; }
}
public class Response
{
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public List<string> Phone { get; set; }
public Address Address { get; set; }
}

I teras sobie elegancko castujesz
var myDeserializedClass = JsonConvert.DeserializeObject<Response>(json);

i potem ładnie wyciągasz
var secondaryAddress = myDeserializedClass.Address.Secondary;

oczywiście jeśli nie zawsze te wszystkie wartości przychodzą to musisz zadbać o nulle i jakieś walidacje ale na start nic lepszego nie znajdziesz

robie okienkowe gui do api i elegancko zapytanie mi zwraca jsona potem robie obiekt: var data = - unxtres - Hejto.pl (demo semantyczne)