Пытаюсь распарсить json, но как-то не получается
Я пробовал
dynamic stuff = Newtonsoft.Json.JsonConvert.DeserializeObject(@"https://www.instagram.com/p/BGwG0OKlxr9/?__a=1");тут ссылка была, и распарсенный string
string color = stuff.name;
Console.WriteLine(color);
var updates = (JContainer)JObject.Parse(тут ссылка была, и распарсенный string);
dynamic results = updates.Descendants().OfType<JObject>().Where(x => x["full_name"] != null).FirstOrDefault();
распарсенный стринг я получаю так
WebRequest req = WebRequest.Create(@"https://www.instagram.com/p/BGwG0OKlxr9/?__a=1");
req.Method = "POST";
req.ContentType = "application/x-www-urlencoded";
WebResponse response = req.GetResponse();
using (Stream s = response.GetResponseStream())
{
using (StreamReader r = new StreamReader(s))
{
str = r.ReadToEnd();
}
}
response.Close();
Console.Read();
Но как только я не пытался подставлять и тп, ничего не работает, точнее ничего не выводит в консоль, только выводит распарсенный string с json и тп в консоль, есть предположения в чем проблемма?
Ответы (1 шт):
Автор решения: Bulson
→ Ссылка
Как говориться, "делаем на коленке".
Пишем такой код в консольной проге
class Program
{
static void Main(string[] args)
{
var requestUri = "https://www.instagram.com/p/BGwG0OKlxr9/?__a=1";
string json = String.Empty;
using (var client = new HttpClient())
{
var response = client.GetAsync(requestUri).GetAwaiter().GetResult();
if (response.IsSuccessStatusCode)
{
json = response.Content.ReadAsStringAsync().GetAwaiter().GetResult();
}
}
}
}
Ставим точку останова и запускаем, смотрим значение json
Нажимаем на лупу и видим содержимое
Выделяем все содержимое и копируем. Далее идем http://json2csharp.com, вставляем и получаем набор нужных классов. Копируем их и создаем у себя в проекте.
Далее дописываем строку парсинга, запускаем и смотрим на результат
