Как преобразовать простой Json в массив при десериализации?

Как можно десериализовать данную JSON-строку в массив int[], если гарантируется, что все значения будут int? Используется Newtonsoft.Json для десериализации JSON в список экземпляров класса с одним полем code, но в данном случае у нас только одно поле.
  • 5 ноября 2023 г. 16:18
Ответы на вопрос 4
Для десериализации простого JSON в массив int[] можно воспользоваться методом `JsonConvert.DeserializeObject<T>()` из библиотеки Newtonsoft.Json.

Вот пример кода:

```csharp
using Newtonsoft.Json;
using System;

class Program
{
    static void Main(string[] args)
    {
        string json = "[1, 2, 3, 4, 5]";

        int[] result = JsonConvert.DeserializeObject<int[]>(json);

        foreach (int value in result)
        {
            Console.WriteLine(value);
        }
    }
}
```

В этом примере мы используем `JsonConvert.DeserializeObject<int[]>(json)` для десериализации JSON-строки в массив int[]. Затем мы выводим каждое значение массива в консоль.

Убедитесь, что добавили пакет `Newtonsoft.Json` в проект, используя NuGet Package Manager.
Десериализуйте список объектов из JSON, затем используйте оператор Select.
Вы можете использовать LINQ для выполнения следующей операции: Если поле "code" в объектах после десериализации имеет тип int, вы можете просто добавить .Select(x => x.code).ToArray() к выражению десериализации. Если тип "code" отличается, вам нужно преобразовать результат в int, используя Int32.Parse(x.code), возвращаемый лямбда-функцией в операторе Select.
Вот пример кода, который демонстрирует эту операцию:

Newtonsoft.Json.JsonConvert.DeserializeObject>(jsonData);
Похожие вопросы