Версия Дата выпуска Скачивания Оценка  
1.7.x 140 0.00 звёзд 0 оценок Скачать
Что нового?
- Добавлено SMExtension API для взаимодействия с другими SM расширениями (sm-jansson/IJansson.h at main · rejchev/sm-jansson)
- Изменено Sourcepawn API в целом
- Добавлено высвобождение памяти из под Json объектов автоматически, в некоторых случаях
- Изменения в резервации типов

В доработке:
- Отступы при дампе JsonObject & JsonArray
- Int64 методы для SP API

Тестируется:
- SMExtension API
- SP API

Это пре-релизная версия! Убедитесь, что не используете ее в проде.
Что нового?
- Изменена сигнатура для JsonObject.TryGet и возвращаемый тип с bool на Json *.
Соответственно, в случае успеха Json, иначе - null.

* - остался прикол с высвобождением дескриптора Json, передаваемого в качестве второго параметра.
Поэтому кому необходимо достать Json из объекта и лень писать delete - welcome.
Что нового?
- Добавлены "try" методы для извлечения данных из JsonObject.
Методы содержат нативную проверку существования заданного ключа. В том числе, проверку типа ключа (JsonType).

Возвращаемое значение функции сигнализирует об успешности извлечения.
Параметр - буфер, который передается в функцию, зануляется.

Перечень:
  • JsonObject.TryGet
  • JsonObject.TryGetBool
  • JsonObject.TryGetFloat
  • JsonObject.TryGetInt
  • JsonObject.TryGetString
  • Мне нравится
Реакции: Delfram и StateByte
Что изменилось?
- добавлен сток asJSONB() - представление JsonBuilder
- добавлен метод Json.Size(int flags) - получение размера json структуры в байтах (полезно, если необходимо дампить в строку)
- добавлен метод JsonArray.Extend(JsonArray another) - дополняет текущий массив элементами другого массива (добавление происходит в конец);
- свойство JsonObject.Size.get заменен на JsonObject.Elements.get; первый помечен, как устаревший и будет удален в следующем обновлении API
- метод JsonObject.Keys() заменен на JsonObject.KeysIterator(); первый помечен, как устаревший и будет удален в следующем обновлении API
  • Мне нравится
Реакции: Truyn
Что изменилось?
- Удалены методы, помеченные, как устаревшие
- Исправлена проблема с дефайнами
- Исправлено несовпадение типов

Релиз собран на билде sm 1.11
- Исправлена логическая ошибка при использовании JsonKeys.Next()
- Добавлен метод Json.Equals - для сравнения двух Json объектов
- Добавлен метод JsonObject.Update - для обновления набора ключей текущего объекта
- Добавлено перечисление JsonUpdateType - набор типов
Что нового?
- Добавлен методмап JsonBuilder
- Добавлен win билд

Example:
sss.pngssss.png
## What's Changed

- Added JsonType - json object types enumeration
- Added Json.Json() - constructor
- Added Json.JsonF() - static constructor (from file)
- Added Json.Type.get() - property
- Added JsonObject.GetType()
- Added JsonArray.GetType()
---
- Deprecated JsonObject.IsNull()
- Deprecated JsonObject.SetNull()
- Deprecated JsonArray.SetNull()
- Deprecated JsonArray.PushNull()
-------
- Changed JsonObject.Set(const char[], Json) - second arg can be `NULL` to store `JSON_NULL`
- Changed JsonArray.Set(const int, Json) - second arg can be `NULL` to store `JSON_NULL`
- Changed JsonArray.Push(Json) - first arg can be `NULL` to store `JSON_NULL`
---
- Renamed JSONObjectKeys -> JsonKeys type
- Renamed JSONObjectKeys.ReadKey() -> JsonKeys.Next() - iterator method
---
- Removed JSONObject.JSONObject() - constructor, use new Json("{}") instead
- Removed JSONArray.JSONArray() - constructor, use new Json("[]") instead
- Removed JSONArray.IsNull() - :/
- Обновлен до версии 2.13.1 (согласно основной ветке RIPExt)
Сверху Снизу