Загрузка...

Есть проблемс?? JSON Serializer

Тема в разделе C# создана пользователем Yotic 14 июл 2021. 207 просмотров

  1. Yotic
    Yotic Автор темы 14 июл 2021 Ебашу на C# всё что захотите(Разноцветное) 43 13 янв 2021
    [IMG]
    Юзаю обычный NewTonsoft Json.Net , в Config все объекты не статичны , и естественно сам Config не статичный , во время сериализации в cfg нет null объектов.
    Сам файл после вызыва метода:
    Код
    {}
    В чём проблема, я честно не ебу ;)
    Надеюсь на быструю помощь
    Пинганите CodeVir
     
  2. PeaceDeath
    Показал бы структуру класса Config
     
    1. Посмотреть предыдущие комментарии (2)
    2. PeaceDeath
    3. Yotic Автор темы
      @PeaceDeath, Ладно
    4. Yotic Автор темы
      @PeaceDeath, [IMG]
      Не работает
  3. r3xq1
    Что-то типо такого набросал

    Код
    namespace SerializeYotic
    {
    using System;
    using System.Drawing;

    [Serializable]
    public class Config
    {
    public Point LocalNewDrop { get; set; } = new Point(0, 0);
    public Point LocalTimeDrop { get; set; } = new Point(20, 20);
    public Color ColorNewDrop { get; set; } = Color.Green;
    public Color ColorTimeDrop { get; set; } = Color.Gray;
    }
    }
    И используешь

    Код
    namespace SerializeYotic
    {
    using System;
    using System.IO;
    using System.Runtime.Serialization.Formatters.Binary;
    using Newtonsoft.Json;

    public static class Program
    {
    [STAThread]
    public static void Main(string[] args)
    {
    var cfg = new Config();
    var binFormat = new BinaryFormatter();
    using (var fs = new FileStream("Config.cfg", FileMode.Create))
    {
    var serializedContents = JsonConvert.SerializeObject(cfg);
    binFormat.Serialize(fs, serializedContents);
    }
    }
    }
    }
    Или так:
    Код
     string JsFull = JsonConvert.SerializeObject(cfg, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include });
    using (var fs = new StreamWriter("Config.cfg"))
    {
    fs.Write(JsFull);
    }
     
    14 июл 2021 Изменено
    1. Посмотреть предыдущие комментарии (1)
    2. Yotic Автор темы
      r3xq1, cfg 100% не пустой
    3. r3xq1
      Yotic,
      почему у тебя в коде .cfg а на скрине .txt формат? Смотри внимательнее где что делаешь...
      using внутри namespace полезен. Каждый дрочит как хочет.
      Если скидываешь код, то кидай кодом, а не скриншотами! FileCreate убери и добавь через FileStream. Вот результат что у меня выдало:

      [IMG]
      Можешь так же добавить проверки на null
      Перед этим только добавить в конфиге типо
      Код
      public Point? localNewDrop { get; set; } = new Point(0, 0); // Point?
      Get/Set добавь так же как у меня выше

      https://disk.yandex.ru/d/vWkYZOWuDlO4ww
  4. Alexiya
    Alexiya 18 июл 2021 Заблокирован(а) 2518 3 июн 2018
Загрузка...
Top