С Новым годом! Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309

JSON для пользовательского типа

26.12.2018, 22:45. Показов 1334. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем, что мне нужно, мне нужно как-то запихнуть в JSON свой тип данный, который называеться s_int, в нем есть методы для работы с integer'om:
C#
1
2
3
4
5
6
7
8
9
10
11
    public static implicit operator int(s_int _s_int)
    {
        return int.Parse(_s_int.INT);
    }
 
    public static implicit operator s_int(int _int) 
    {
        s_int _s_int = new s_int();
        _s_int.INT = _int.ToString();
        return _s_int;
    }
в игре есть класс для сохранения:

C#
1
2
3
4
5
6
public class GameManagerSave
{
    public s_int _money;
    public s_int _nowMission;
    public bool _firstGame;
}
и если сохранить его в JSONUnility:
C#
1
2
3
4
5
6
GMS = new GameManagerSave();
        GMS._firstGame = false;
        GMS._money = 227;
        GMS._nowMission = 2;
        PlayerPrefs.SetString("Key", JsonUtility.ToJson(GMS));
        Debug.Log(PlayerPrefs.GetString("Key"));
то в логе будет только:
C#
1
{"_firstGame":false}
как мне можно сделать сохранения для своего типа?

На уме только костыль сохранять как строку, а уже потом конвертировать в свой тип, но можно ли напрямую это сделать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.12.2018, 22:45
Ответы с готовыми решениями:

Можно ли сохранить переменную ссылочного типа в JSON?
Допустим у меня есть класс, который я сериализую в формат JSON. Все изменения с переменными этого класса сохраняются, но вот будет ли...

Перегрузка operator<< для пользовательского типа
Переписал пример из учебника, но компилятор (visual 2017) выдает кучу ошибок. Добавлять прототип пергрузки в класс пробовал, но не...

Пагинация для пользовательского типа записи?
Проблема такая. Имеется пользовательский тип записи, для него нужно вывести пагинацию. Мучаюсь уже неделю, то пагинация выводится но не...

7
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
01.01.2019, 17:23
kitsoRik, а класс сериализуемый?
1
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
01.01.2019, 18:14
Лучший ответ Сообщение было отмечено kitsoRik как решение

Решение

Если в s_int нету паблик или сериализуемых полей, то и в джсон ничего не будет.
1
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
01.01.2019, 19:26  [ТС]
Цитата Сообщение от Cr0c Посмотреть сообщение
а класс сериализуемый?
конечно.
Цитата Сообщение от 1max1 Посмотреть сообщение
Если в s_int нету паблик или сериализуемых полей, то и в джсон ничего не будет.
спасибо, я думал что и приватные пойдут.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
02.01.2019, 02:24
kitsoRik, а вот тут интересно: если в классе нет публичных полей - зачем ставить аттрибут сериализации?
0
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
02.01.2019, 20:19  [ТС]
Цитата Сообщение от Cr0c Посмотреть сообщение
если в классе нет публичных полей - зачем ставить аттрибут сериализации?
я и поставил что бы в json преобразовать, но не подумал об паблик полях.
0
 Аватар для 1max1
3362 / 1775 / 1028
Регистрация: 26.10.2018
Сообщений: 5,204
02.01.2019, 20:54
Можешь сделать приватными, но нужно навесить атрибут.
https://docs.unity3d.com/Scrip... Field.html
0
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
02.01.2019, 21:03  [ТС]
1max1, это я и сделал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.01.2019, 21:03
Помогаю со студенческими работами здесь

Операция извлечения из потока для пользовательского типа
Всем доброго дня! Я тренируюсь перегружать операторы извлечения из потока и операторы передачи в поток. Операцию передачи в поток я...

Явная специализация шаблона для пользовательского типа
Здравствуйте! Сразу извиняюсь если вопрос покажется глупым, перечитал справочник по шаблонам, но так и не нашёл ответ. Есть шаблон класса: ...

Перегрузить заданные операции для строк пользовательского типа
Для строк символов перезагрузить операции: &quot;-&quot; - унарный минус (переворачивает строку на своем месте); &quot;*&quot; - умножение...

Как создать шаблон для пользовательского и встроенного типа?
Есть перегруженные операторы класса: void String::operator=(const char *a){ //Перегрпуженный оператор присваивания для типа char* ...

Как правильно объявить двумерный массив для пользовательского типа
Схема: Есть такой &quot;базовый&quot; Type: Private Type Linii Tip As Byte 'направление вектора Vid As String 'строковый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru