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.
#programowanie #csharp #programista15k
https://www.newtonsoft.com/json/help/html/queryinglinqtojson.htm ja bym użył linq (nie umiem w c#)
@unxtres Wrzuć sobie jsona do jakiejś stronki co przerabia jsona na c# klasy np tutaj https://json2csharp.com
Potem robisz deserializację i wyciągasz to co potrzebujesz
@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<br />
{<br />
public string Primary { get; set; }<br />
public string Secondary { get; set; }<br />
}<br />
public class Response<br />
{<br />
public string FirstName { get; set; }<br />
public string MiddleName { get; set; }<br />
public string LastName { get; set; }<br />
public List<string> Phone { get; set; }<br />
public Address Address { get; set; }<br />
}<br />
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
@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
@JuanPabloSegundo a w js można to zrobić za pomocą lodasha na przykład? Orientujesz się może?
@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 ( ͡~ ͜ʖ ͡°)
Zaloguj się aby komentować