Как сохранять и получать информацию из JSON файла C#?

как можно сохранять и получать информацию из JSON файла на C# используя Newtonsoft.Json? (int, string)


Ответы (1 шт):

Автор решения: Jagailo

Если работаете с .NET 5+, то лучше использовать Json сериализатор от Microsoft, пространства имён System.Text.Json.

Содержимое файла test.json:

{
  "stringValue": "old value",
  "numberValue": 2022
}

Использование Newtonsoft.Json ниже:

using Newtonsoft.Json;

namespace Test
{
    internal static class Program
    {
        private static void Main()
        {
            const string filepath = @"C:\Users\Jagailo\Desktop\test.json";

            // Чтение файла
            var json = File.ReadAllText(filepath);

            // Десериализация строки в объект
            var data = JsonConvert.DeserializeObject<FileModel>(json);

            // Изменение данных
            data.StringValue = "new value";
            data.IntValue++;

            // Сериализация объекта в строку
            json = JsonConvert.SerializeObject(data);

            // Сохранение строки в файл
            File.WriteAllText(filepath, json);
        }
    }

    public class FileModel
    {
        [JsonProperty("stringValue")]
        public string StringValue { get; set; }

        [JsonProperty("numberValue")]
        public int IntValue { get; set; }
    }
}
→ Ссылка