С RestSharp, Newtonsoft.Json не может десериализовать текущий массив JSON (например, [1,2,3]) - PullRequest
1 голос
/ 12 июня 2019

Я новичок в C # API ... Я создал новый сервер, используя nodejs-сервер, получаю данные с SQL-сервера для генерации json, и я создаю пользовательское приложение, используя c # windows-приложение, используя RestSharp, отправил запрос на сервер и получилответ с использованием Newtonsoft Я получил ошибку, не могу десериализовать текущий массив json, помогите мне решить проблему ниже код

JSON

[[{"id":2000,"engine":1,"wheel":1,"ac":1,"nitro":1,"rim":1},{"id":2001,"engine":1,"wheel":1,"ac":1,"nitro":1,"rim":1}]]

Код

using RestSharp;
using Newtonsoft.Json;

private void Form1_Load(object sender, EventArgs e)
        {
            var client = new RestClient("http://localhost:8000/employees");
            var request = new RestRequest(Method.GET);
            IRestResponse response = client.Execute(request);
            var x = JsonConvert.DeserializeObject<RootObject>(response.Content);
            foreach (var player in x.Abbrecipes)
            {
                comboBox1.Items.Add(player.id);
            }
        }

public class Abbrecipe
        {
            public int id { get; set; }
            public int engine { get; set; }
            public int wheel { get; set; }
            public int ac { get; set; }
            public int nitro { get; set; }
            public int rim { get; set; }
        }
        public class RootObject
        {
            public List<Abbrecipe> Abbrecipes { get; set; }
        }

1 Ответ

0 голосов
/ 12 июня 2019

вот код вашей текущей ситуации в качестве метода, использующего WebClient вместо RestClient:

private static Rootobject publicFeed;

    public static void Set()
    {
        publicFeed = new Rootobject();

        using (var client = new WebClient())
        {
            string result;
            try
            {
                result = client.DownloadString("your json");//configure json stringdata
            }
            catch (Exception)
            {
                Console.WriteLine("This application needs a valid internet connection, please try again.");
                result = null;
                return;
            }

            publicFeed = JsonConvert.DeserializeObject<Rootobject>(result);
        }
    }
...