1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/noear-snack3

19.06.2025 20:34
GitLife Service Account
  • Оптимизация преобразования строки в Enum (поддержка более широкого диапазона)
  • Добавление характеристики NotWriteRootClassName
  • Оптимизация analyse_val с добавлением проверки формата
  • Улучшение обработки analyse_val для совместимости с числами, представленными без кавычек
  • Увеличение возможностей DateUtil для поддержки парсинга времени, представленного только цифрами
Последнее сообщение коммита: 3.2.134
21.04.2025 11:52
GitLife Service Account
  • Исправлено утеря типа для двумерных массивов
  • Исправлено возможное возникновение бесконечных циклов в GenericUtil.reviewType
  • Улучшена способность GenericUtil.reviewType к совместимости глубины
Последнее сообщение коммита: 3.2.129
06.03.2025 06:29
GitLife Service Account
  • Добавлена поддержка автоматического преобразования одиночных значений в массив при десериализации (ранее поддерживалось только преобразование в коллекцию)
  • Добавлена поддержка самодекодирования и самоэнкодирования
  • Улучшена обработка числовых выражений в JsonPath, добавлено исключение парсинга строки (в случае ошибочного парсинга)
  • Улучшено преобразование ASCII-кодов от 0 до 7 в Юникод (для обеспечения совместимости с вебом)
  • Удалён фича WriteSlashAsSpecial, так как она не использовалась
  • Исправлена ошибка при конвертации java.sql.Date в LocalDate через ObjectToer
Последнее сообщение коммита: 3.2.126
06.03.2025 06:28
GitLife Service Account
  • Добавлена поддержка свойств с использованием setter без наличия поля Feature.UseSetter
  • Добавлена поддержка плоского представления данных flat
  • Добавлен парсинг трёх форматов времени
  • Добавлены методы oNode.parent(), oNode.parents(depth)
  • Добавлены функции first() и last() в jsonpath
  • Добавлен метод oNode.usePaths() для использования путей (предполагается текущий уровень как корневой, генерируется путь каждого подузла) обычно используется один раз на корневом уровне
  • Добавлен метод oNode.path() для получения пути узла (может быть null; например, временного набора)
  • Добавлен метод oNode.pathList() для получения списка путей узла (если это временное множество, будут выделены несколько путей)
  • Внесено исправление для json path. При отсутствии элементов в массиве min, max, sum, avg становятся null, count — 0. Сохранение согласованности с SQL
  • Улучшена совместимость при перестроении [n]
  • Оптимизировано описание исключений при единой инициализации
  • Улучшена совместимость выражения 0E-10 (нотация научной записи без десятичной точки)
  • Исправлено исключение при использовании getNew(key) когда узел не является объектом
Последнее сообщение коммита: 3.2.122
06.03.2025 06:28
GitLife Service Account
  • Добавлена совместимость с компиляцией JDK23
  • Добавлена поддержка десериализации типа Duration
  • Добавлена поддержка десериализации URI
  • Добавлена обработка типа OffsetTime
  • Улучшена поддержка массивной формы в val(obj)
  • Улучшена поддержка приоритетного типа при десериализации
  • Улучшена поддержка десериализации данных с дефолтными значениями в solon.mvc kotlin data class
  • Исправлена проблема с игнорированием исключений при использовании приоритетного типа при десериализации
  • Исправлена проблема восстановления WriteArrayClassName
Последнее сообщение коммита: 3.2.111
06.03.2025 06:28
GitLife Service Account
  • Добавлены характеристики UseOnlySetter, UseGetter, UseOnlyGetter
  • Добавлена функция ThData::clear для очистки кэша ThreadLocal
  • Добавлена поддержка присваивания пустых коллекций типа Collections.EMPTY_MAP
  • Добавлена поддержка стиля "type['a']" в Properties
  • Добавлена поддержка стиля "type[a]" в Properties
  • Добавлена поддержка стиля "type[]" в Properties
  • Добавлена усиленная модель преобразования Properties (NameValues)
  • Добавлен метод ONodeAttr::asString
  • Усилены проверки формата
  • Оптимизированы сообщения об ошибках при создании объектов
Последнее сообщение коммита: 3.2.100
06.03.2025 06:28
GitLife Service Account
  • Добавлена возможность отключения параметров по умолчанию для коллекций DisableCollectionDefaults
  • Добавлена обработка типа данных ZonedDateTime
  • Добавлена обработка типа данных OffsetDateTime
  • Добавлена поддержка формата времени "yyyy-MM-dd'T'HH:mm:ss+HH:mm"
  • Исправлена совместимость с выражением request1.result[*].relTickers[0].tickerId
Последнее сообщение коммита: Update UPDATE_LOG.md
06.03.2025 06:28
GitLife Service Account
  • Исправлено отсутствие кодирования при корневом значении типа string
  • Исправлена проблема совместимости с выражением $..[?(@.treePath)]
  • Исправлено отсутствие данных при десериализации C{final data: Map}
  • Исправлено возможное значение null метода getEnumConstants при создании объекта EnumWrap
  • Улучшена сериализация enum
  • Улучшена идентификация recordable для предотвращения выхода за границы массива в конструкторе
  • Добавлена возможность отключения чтения имени класса: Feature.DisableClassNameRead
Последнее сообщение коммита: 3.2.85
06.03.2025 06:28
GitLife Service Account
  • Оптимизация сериализации пользовательских полей структурных enum
  • Добавление поддержки функций keys(), length(), size() в jsonpath
  • Передача прав доступа к полям во время выполнения
  • При десериализации, если число записано прописными буквами и равно "null", то значение считается null
Последнее сообщение коммита: 3.2.76
06.03.2025 06:28
GitLife Service Account

Добавлена поддержка сериализации пользовательских полей структурных перечислений.

public enum BookType {
    NOVEL(2, "роман"),
    CLASSICS(3, "классика");

    // теперь добавлена поддержка этого
    @ONodeAttr public final int code; // используется code как поле сериализации
    public final String des;

    BookType(int code, String des) {
        this.code = code;
        this.des = des;
    }
}

// ранее поддерживалось только это
public class Book {
    String name;
    BookType type;
    @ONodeAttr(serialize=false) String author; // не сериализовать
    @ONodeAttr(format="yyyy-MM-dd") Date releaseTime; // форматировать время вывода
}
Последнее сообщение коммита: Update README.md
06.03.2025 06:27
GitLife Service Account
  • Устранена проблема возможного возвращения null методом bindTo(obj)
  • Оптимизирована совместимость с выражением $.[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')]
  • Оптимизирована совместимость с выражением $[?(@.field == 'l1-field-1')].children[?(@.field == 'l2-field-1')].fields[*]
Последнее сообщение коммита: 3.2.72
06.03.2025 06:27
GitLife Service Account
  • Устранение проблемы с возможностью появления значения в $..*[?(@.id)]
  • Оптимизация совместимости для $.*.*.*
Последнее сообщение коммита: Update pom.xml
06.03.2025 06:27
GitLife Service Account
  • Добавлена поддержка декодирования символов в charset
  • Добавлено удаление дубликатов параметров и полей, аналогично Java records
Последнее сообщение коммита: 3.2.67
06.03.2025 06:27
GitLife Service Account
  • Добавлена поддержка десериализации типа File
  • Добавлена поддержка генериков с многократной вложенностью: List<List>, Map<String,List>
  • Добавлена поддержка конфигурации часового пояса через аннотацию NodeAttr
  • Исправлено преобразование "{names:null}" в A{names:List}, которое приводило к получению A{names:List=[null]}
  • Исправлено бесконечное циклическое сериализация непространственных членов класса
  • Добавлено свойство (ParseIntegerUseLong) для парсинга всех целочисленных значений как long
Последнее сообщение коммита: 3.2.65
06.03.2025 06:27
GitLife Service Account

Добавить поддержку красивого форматирования.

Последнее сообщение коммита: 3.2.59: 添加漂亮格式化特性支持
06.03.2025 06:27
GitLife Service Account

Добавление интерфейса selectOrNew(); // Поддерживается только при простых индексных запросах, условные выражения и функции недоступны

Пример:

@Test
public void case1(){
    ONode oNode = new ONode();
    oNode.selectOrNew("$.orders[0].price").val(500);
    System.out.println(oNode.toJson());
    // {"orders":[{"price":500}]}

    assert "{\"orders\":[{\"price\":500}]}" .equals(oNode.toJson());

    
    oNode.selectOrNew("$.orders[10].price").val(600);
    System.out.println(oNode.toJson());
    // {"orders":[{"price":500},null,null,null,null,null,null,null,null,null,{"price":600}]}

    oNode.select("$.orders").forEach(n -> n.asObject());
    System.out.println(oNode.toJson());
    // {"orders":[{"price":500},{},{},{},{},{},{},{},{},{},{"price":600}]}
}
Последнее сообщение коммита: 3.2.57: 增加 selectOrNew() 接口
06.03.2025 06:27
GitLife Service Account
  • Добавлена поддержка специфического ClassLoader
  • Добавлена возможность автоматического выбора ClassLoader
  • Добавлено использование аннотации @NodeAttr для типов LocalTime, LocalDate, LocalDateTime
Последнее сообщение коммита: 3.2.56
06.03.2025 06:27
GitLife Service Account

Добавить поддержку Kotlin data классов

Последнее сообщение коммита: 3.2.54
06.03.2025 06:27
GitLife Service Account
  • Добавлен метод getOrNew(int index, ONodeType newNodeType)
  • Добавлен метод getOrNew(String key, ONodeType newNodeType)
Последнее сообщение коммита: 3.2.53
06.03.2025 06:27
GitLife Service Account
  • Добавлено управление сериализацией null значений в Map/nullValue с помощью опции SerializeNulls (ранее значение по умолчанию было установлено)
  • Добавлена возможность SerializeMapNullValues
  • Добавлена возможность BooleanNullAsFalse
  • Добавлена возможность NumberNullAsZero
  • Добавлена возможность ArrayNullAsEmpty
  • В default features_def больше не включается StringNullAsEmpty (ранее действовало только для OValue::getString)
Последнее сообщение коммита: 3.2.52
1
https://api.gitlife.ru/oschina-mirror/noear-snack3.git
git@api.gitlife.ru:oschina-mirror/noear-snack3.git
oschina-mirror
noear-snack3
noear-snack3