Как я могу превратить строку, извлеченную из URL, в полезный объект? Я видел несколько Newtonsoft.Json
примеров, но ни один из них не работает с макетом объекта в URL.
Код ниже - это то, что я имею до сих пор. (часть DeserializeObject
в настоящее время в коде не работает) из-за расположения объекта.
JSON Данные:
{
"totals": {
"confirmed": 4011,
"dead": 23,
"recovered": 7,
"changes": {
"newToday": 239,
"newYesterday": 378,
"diff": -139,
"deathsToday": 4,
"deathsYesterday": 5
}
},
"cases": [
{
"confirmed": 989,
"dead": 4,
"recovered": 1,
"name": "Oslo",
"countyCode": "03",
"confirmedPer1kCapita": 1.426111833700075
},
{
"confirmed": 1138,
"dead": 7,
"recovered": 1,
"name": "Viken",
"countyCode": "30",
"confirmedPer1kCapita": 0.9168805114549636
},
{
"confirmed": 284,
"dead": 2,
"recovered": 1,
"name": "Innlandet",
"countyCode": "34",
"confirmedPer1kCapita": 0.7647050904048359
},
{
"confirmed": 440,
"dead": 0,
"recovered": 3,
"name": "Vestland",
"countyCode": "46",
"confirmedPer1kCapita": 0.6912467735271338
},
{
"confirmed": 304,
"dead": 0,
"recovered": 0,
"name": "Rogaland",
"countyCode": "11",
"confirmedPer1kCapita": 0.633475865403049
},
{
"confirmed": 285,
"dead": 0,
"recovered": 0,
"name": "Trøndelag",
"countyCode": "50",
"confirmedPer1kCapita": 0.608062265575995
},
{
"confirmed": 130,
"dead": 2,
"recovered": 0,
"name": "Troms og Finnmark",
"countyCode": "54",
"confirmedPer1kCapita": 0.5342956134330138
},
{
"confirmed": 159,
"dead": 1,
"recovered": 0,
"name": "Agder",
"countyCode": "42",
"confirmedPer1kCapita": 0.5175259007066344
},
{
"confirmed": 149,
"dead": 1,
"recovered": 0,
"name": "Vestfold og Telemark",
"countyCode": "38",
"confirmedPer1kCapita": 0.3552728209138857
},
{
"confirmed": 91,
"dead": 0,
"recovered": 1,
"name": "Møre og Romsdal",
"countyCode": "15",
"confirmedPer1kCapita": 0.34308809446610217
},
{
"confirmed": 42,
"dead": 0,
"recovered": 0,
"name": "Nordland",
"countyCode": "18",
"confirmedPer1kCapita": 0.17410408937343255
}
],
"updated": {
"ts": "2020-03-28T21:23:18+01:00",
"by": "Morten Asbjørnsen",
"version": "5154"
}
}
код:
public class Program
{
public static void Main(string[] args)
{
string Address = "https://redutv-api.vg.no/corona/v1/sheets/norway-table-overview?region=county";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Address);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK)
{
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = null;
if (String.IsNullOrWhiteSpace(response.CharacterSet))
readStream = new StreamReader(receiveStream);
else
readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
string data = readStream.ReadToEnd();
response.Close();
readStream.Close();
Console.WriteLine(data);
//No clue...
Statistic statistic = JsonConvert.DeserializeObject<Statistic>(data);
}
}
public class Statistic
{
//needs modifying.
public string confirmed.total {get;set;}
}
}