169 похожих чатов

Ребят, привет Распарсил json и мне нужно вывести определённый

продукт и категорию(т.е по name выводить)

Делал с помощью foreach, но с типом Root он не работает

Можете подсказать, как решить эту проблему?


Код прикрепил:



using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace hhh
{
class Program
{
static void Main(string[] args)
{
// Console.WriteLine("Hello World!");
RunAsync().Wait();
}
static async Task RunAsync()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri;
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync("");
if (response.IsSuccessStatusCode)
{
// var product = await response.Content.ReadAsStringAsync();
var source = "{\"Products\":[{\"Id\":12,\"Name\":\"Any soap\",\"CategoryId\":4},{\"Id\":10,\"Name\":\"Liquid soap\",\"CategoryId\":4},{\"Id\":15,\"Name\":\"Squash\",\"CategoryId\":5},{\"Id\":6,\"Name\":\"Mouse Logitech\",\"CategoryId\":2},{\"Id\":3,\"Name\":\"Venia Shampoo\",\"CategoryId\":1},{\"Id\":8,\"Name\":\"Rectangular Wheel\",\"CategoryId\":3},{\"Id\":6,\"Name\":\"Mouse Logitech\",\"CategoryId\":2},{\"Id\":11,\"Name\":\"Spoiled soap\",\"CategoryId\":4}],\"Categories\":[{\"Id\":4,\"Name\":\"Soap\"},{\"Id\":5,\"Name\":\"Vegetables\"},{\"Id\":2,\"Name\":\"Computers\"},{\"Id\":1,\"Name\":\"Shampoo\"},{\"Id\":3,\"Name\":\"Wheels\"}]}";
Root parsed = JsonConvert.DeserializeObject<Root>(source);
Console.WriteLine("Total amount of products: " + parsed.Products.Count());
Console.WriteLine("Total amount of categories : " + parsed.Categories.Count());
Console.WriteLine(parsed.Products.ToArray());

}
}
}
}

public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public int CategoryId { get; set; }
}
public class Category
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Root
{
public List<Product> Products { get; set; }
public List<Category> Categories { get; set; }
}
}

6 ответов

18 просмотров

Сразу с ходу - ты можешь сделать метод Main асинхронным, начиная с шарпа версии 7.2 async Task Main() { await RunAsync(); }

Bogdan-Semkin Автор вопроса

foreach (Product p in parsed.Products) { string name = p.Name; }

Bogdan-Semkin Автор вопроса
Vova Lantsov 🇺🇦
foreach (Product p in parsed.Products) { strin...

Спасибо Затестил, все хорошо

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта