Хочу десериализоваьь json-файл в Dictionary. Сначала получаю ссылку с сервера, а потом делаю как на сайте Newtonsoft.com deserialising Dictionary, но вылетает исключение
Unexpected character encountered while parsing value @.Path:line 0 position 0.
Пытался исправить добавлением к строке кавычки и знака @, но ошибка та же
using (var webClient = new System.Net.webClient(){Encoding=Encoding.UTF8})
{
JObject json = JObject.Parse(webClient.DownloadString(MyUrl));
string json = "@\"" + json + "\""; //не работает ни с этой строкой, ни без неё
Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string,string>>(newjson);
}
Вот json-файл:
{
"response": {
"status": "ok",
"data": {
"30": {
"title": "London",
"Country": "Britain"
},
"24": {
"title": "Paris",
"Country": "France"
}
},
"count": 2
}}
Нужно, чтобы я мог получить связку страна-город
Связку "Страна-Город" можно получить так:
var json = JObject.Parse(str);
var result = json["response"]?["data"]?
.Select(s => new
{
Country = s.First?["Country"]?.ToString(),
City = s.First?["title"]?.ToString()
})
.ToDictionary(k => k.Country, v => v.City) ??
new Dictionary<string, string>();
Получить данные в формате "Лондон -30", "Париж - 24".
var result = json["response"]?["data"]?
.Select(s => new
{
Number = (s as JProperty)?.Name,
City = s.First?["title"]?.ToString()
})
.ToDictionary(k => k.City, v => v.Number) ??
new Dictionary<string, string>();
Вот примерно так у меня получилось разобрать ваш json
:
Структура классов :
public class Rootobject
{
public Response response { get; set; }
}
public class Response
{
public string status { get; set; }
public Dictionary<string, CountryClass> data { get; set; }
public int count { get; set; }
}
public class CountryClass
{
public string title { get; set; }
public string Country { get; set; }
}
Десериализация :
string json = "{\"response\": {\"status\": \"ok\",\"data\": {\"30\": {\"title\": \"London\",\"Country\": \"Britain\"},\"24\": {\"title\": \"Paris\",\"Country\": \"France\"}},\"count\": 2}}";
Rootobject values = JsonConvert.DeserializeObject<Rootobject>(json);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь задать выполнение метода про расписанию с помощью NCron:
Доброго дня, Возник вопрос, имею WebApplication на AspNetCore 11
На WPF странице есть родительский контейнер canvas в котором расположены несколько grid, как получить координаты Point одного из этих grid ?