简体   繁体   中英

Deserialize operations with c#

A data like the one below comes from the API. How do I model this?

{
   "USD":{
      "satis":"11.4995",
      "alis":"11.4012",
      "degisim":"1,90"
   },
   "EUR":{
      "satis":"12.9252",
      "alis":"12.8265",
      "degisim":"1,37"
   },
   "GBP":{
      "satis":"15.4003",
      "alis":"15.2761",
      "degisim":"1,44"
   },
   "CHF":{
      "satis":"12.3345",
      "alis":"12.2252",
      "degisim":"1,47"
   },
   "CAD":{
      "satis":"9.0611",
      "alis":"8.9809",
      "degisim":"1,58"
   },
   "RUB":{
      "satis":"0.15338",
      "alis":"0.15207",
      "degisim":"-0,14"
   },
   "AED":{
      "satis":"3.1297",
      "alis":"3.1052",
      "degisim":"1,88"
   },
   "AUD":{
      "satis":"8.3101",
      "alis":"8.2403",
      "degisim":"1,79"
   },
   "DKK":{
      "satis":"1.7381",
      "alis":"1.723",
      "degisim":"1,47"
   },
   "SEK":{
      "satis":"1.2798",
      "alis":"1.2685",
      "degisim":"1,52"
   },
   "NOK":{
      "satis":"1.2882",
      "alis":"1.2768",
      "degisim":"1,79"
   },
   "JPY":{
      "satis":"10.0053",
      "alis":"9.9214",
      "degisim":"1,05"
   },
   "KWD":{
      "satis":"37.9655",
      "alis":"37.7194",
      "degisim":"1,97"
   },
   "ZAR":{
      "satis":"0.7253",
      "alis":"0.72",
      "degisim":"1,20"
   },
   "OMR":{
      "satis":"29.7636",
      "alis":"29.7266",
      "degisim":"1,80"
   },
   "MYR":{
      "satis":"2.7464",
      "alis":"2.7261",
      "degisim":"1,83"
   },
   "PHP":{
      "satis":"0.2267",
      "alis":"0.225",
      "degisim":"1,57"
   },
   "QAR":{
      "satis":"3.1567",
      "alis":"3.1329",
      "degisim":"2,54"
   },
   "SYP":{
      "satis":"0.0046",
      "alis":"0.0045",
      "degisim":"2,22"
   },
   "RSD":{
      "satis":"0.1098",
      "alis":"0.1091",
      "degisim":"1,48"
   },
   "UAH":{
      "satis":"0.4286",
      "alis":"0.4256",
      "degisim":"1,06"
   },
   "TWD":{
      "satis":"0.4133",
      "alis":"0.4102",
      "degisim":"1,85"
   },
   "MDL":{
      "satis":"0.6473",
      "alis":"0.6464",
      "degisim":"1,62"
   },
   "PEN":{
      "satis":"2.8543",
      "alis":"2.8481",
      "degisim":"1,78"
   },
   "SGD":{
      "satis":"8.4228",
      "alis":"8.3574",
      "degisim":"1,63"
   },
   "MKD":{
      "satis":"0.2088",
      "alis":"0.209",
      "degisim":"1,02"
   },
   "UYU":{
      "satis":"0.2611",
      "alis":"0.2592",
      "degisim":"2,23"
   },
   "PKR":{
      "satis":"0.0653",
      "alis":"0.0654",
      "degisim":"1,40"
   },
   "THB":{
      "satis":"0.348",
      "alis":"0.3454",
      "degisim":"1,34"
   },
   "SAR":{
      "satis":"3.0694",
      "alis":"3.0359",
      "degisim":"2,15"
   },
   "ILS":{
      "satis":"3.7246",
      "alis":"3.6967",
      "degisim":"2,19"
   },
   "BHD":{
      "satis":"30.2794",
      "alis":"30.461",
      "degisim":"1,91"
   },
   "MXN":{
      "satis":"0.5477",
      "alis":"0.5438",
      "degisim":"1,22"
   },
   "NZD":{
      "satis":"7.9952",
      "alis":"7.933",
      "degisim":"1,31"
   },
   "IRR":{
      "satis":"0.0003",
      "alis":"0.0003",
      "degisim":"0,00"
   },
   "CSK":{
      "satis":"0.5075",
      "alis":"0.5037",
      "degisim":"1,30"
   },
   "BGN":{
      "satis":"6.6045",
      "alis":"6.555",
      "degisim":"1,42"
   },
   "ARS":{
      "satis":"0.1145",
      "alis":"0.1136",
      "degisim":"1,96"
   },
   "BRL":{
      "satis":"2.0518",
      "alis":"2.0356",
      "degisim":"2,02"
   },
   "AZN":{
      "satis":"6.763",
      "alis":"6.7081",
      "degisim":"1,88"
   },
   "CLP":{
      "satis":"0.0142",
      "alis":"0.0141",
      "degisim":"4,41"
   },
   "RON":{
      "satis":"2.609",
      "alis":"2.591",
      "degisim":"1,43"
   },
   "CRC":{
      "satis":"0.0178",
      "alis":"0.018",
      "degisim":"1,71"
   },
   "HKD":{
      "satis":"1.4759",
      "alis":"1.4642",
      "degisim":"1,90"
   },
   "BAM":{
      "satis":"6.5939",
      "alis":"6.6078",
      "degisim":"1,69"
   },
   "ISK":{
      "satis":"0.0872",
      "alis":"0.0867",
      "degisim":"1,28"
   },
   "KZT":{
      "satis":"0.0265",
      "alis":"0.0263",
      "degisim":"1,92"
   },
   "LKR":{
      "satis":"0.0566",
      "alis":"0.0565",
      "degisim":"1,80"
   },
   "DZD":{
      "satis":"0.0825",
      "alis":"0.0822",
      "degisim":"2,23"
   },
   "MAD":{
      "satis":"1.244",
      "alis":"1.2347",
      "degisim":"1,45"
   },
   "JOD":{
      "satis":"16.159",
      "alis":"16.1411",
      "degisim":"1,88"
   },
   "LTL":{
      "satis":"0.976",
      "alis":"0.974",
      "degisim":"0,00"
   },
   "LYD":{
      "satis":"2.4832",
      "alis":"2.4899",
      "degisim":"1,60"
   },
   "INR":{
      "satis":"0.1545",
      "alis":"0.1533",
      "degisim":"1,78"
   },
   "IDR":{
      "satis":"0.0008",
      "alis":"0.0008",
      "degisim":"0,00"
   },
   "IQD":{
      "satis":"0.0079",
      "alis":"0.0078",
      "degisim":"2,60"
   },
   "CNY":{
      "satis":"1.8002",
      "alis":"1.7863",
      "degisim":"1,90"
   },
   "HUF":{
      "satis":"0.0349",
      "alis":"0.0346",
      "degisim":"0,87"
   },
   "BYR":{
      "satis":"0.0002",
      "alis":"0.0002",
      "degisim":"0,00"
   },
   "PLN":{
      "satis":"2.743",
      "alis":"2.7239",
      "degisim":"1,06"
   },
   "EGP":{
      "satis":"0.7295",
      "alis":"0.7276",
      "degisim":"1,81"
   },
   "ALL":{
      "satis":"0.1063",
      "alis":"0.1059",
      "degisim":"1,43"
   },
   "KRW":{
      "satis":"0.0097",
      "alis":"0.0096",
      "degisim":"2,11"
   },
   "COP":{
      "satis":"0.0029",
      "alis":"0.0029",
      "degisim":"0,00"
   },
   "LVL":{
      "satis":"5.4364",
      "alis":"5.4011",
      "degisim":"0,00"
   },
   "HRK":{
      "satis":"1.7179",
      "alis":"1.7051",
      "degisim":"1,36"
   },
   "LBP":{
      "satis":"0.0076",
      "alis":"0.0076",
      "degisim":"2,70"
   },
   "GEL":{
      "satis":"3.6714",
      "alis":"3.6494",
      "degisim":"1,77"
   },
   "DVZSP1":{
      "satis":"12.2124",
      "alis":"12.1139",
      "degisim":"1,62"
   },
   "TND":{
      "satis":"4.0186",
      "alis":"3.9901",
      "degisim":"46,69"
   }
}

my api code:

var client = new RestSharp.RestClient("https://api.genelpara.com/embed/doviz.json");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
var veri = JsonSerializer.Deserialize<DigerApiDoviz>(response.Content);

my models:

public class DigerApiDoviz
    {
        public Doviz doviz { get; set; }
    }

public class Doviz
    {
        public decimal satis { get; set; }
        public decimal alis { get; set; }
        public decimal degisim { get; set; }
    }

Although data is received, null value is returned in "deserialize" operation. because I made my model wrong. What is the correct modeling process?

try dictionary model

Dictionary<string,Doviz> veri = JsonSerializer.Deserialize<Dictionary<string,Doviz>> (response.Content);

you can use it like this

Doviz dv =veri["USD"];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM