Skip to content

Conversation

@ProjectSky
Copy link
Owner

  • Renamed YYJSON to JSON throughout the codebase for consistency
  • Updated file names and references, including YYJSONManager to JsonManager
  • Modified performance benchmark and test scripts to reflect the new naming
  • Removed deprecated files related to the old YYJSON implementation
  • Updated documentation and README to align with the new JSON extension naming conventions

- Renamed `YYJSON` to `JSON` throughout the codebase for consistency
- Updated file names and references, including `YYJSONManager` to `JsonManager`
- Modified performance benchmark and test scripts to reflect the new naming
- Removed deprecated files related to the old `YYJSON` implementation
- Updated documentation and README to align with the new JSON extension naming conventions
- Introduced SetErrorSafe function to standardize error message handling across JSON operations, improving safety and consistency
- Removed deprecated SetPackError function to reduce redundancy
- Updated IJsonManager interface to include a default destructor

fix: fix Windows compilation failure
- Fix Windows build failure caused by missing C++17 specification
- Introduced WriteToStringPtr method in IJsonManager and JsonManager for efficient JSON serialization, avoiding intermediate buffer allocations.
- Updated documentation to highlight performance considerations and usage recommendations.
- Introduced RefCounted and RefPtr classes for intrusive reference counting of JSON documents
- Updated IJsonManager to include GetRefCount method for retrieving the reference count of JSON values
- Refactored JsonManager to utilize RefPtr for managing mutable and immutable JSON documents, enhancing memory management
- Updated documentation to reflect changes in JSON value handling and reference counting
@ProjectSky ProjectSky marked this pull request as draft November 10, 2025 16:17
- Implemented ApplyJsonPatch and JsonPatchInPlace methods in IJsonManager and JsonManager for applying JSON Patch operations
- Introduced ApplyMergePatch and MergePatchInPlace methods for JSON Merge Patch operations
- Updated README to include support for JSON Patch and Merge Patch features
- Enhanced JSON iterator functionality with reset capabilities for both array and object iterators
- Refactored related methods to improve error handling and memory management
- Updated tests to cover new patch functionalities and ensure correctness
feat: add reference counting to JSON documents
- Updated SetFpToFloat and SetFpToFixed methods to clarify serialization effects in documentation
- Adjusted precision limits for SetFpToFixed from 1-15 to 1-7
- Improved error handling for parameter limits in json_pack and related methods
- Added notes across various JSON methods to emphasize memory management requirements
…atures

- Added ObjectRotate and ArrayRotate methods for rotating key-value pairs in JSON objects and arrays, respectively
- Introduced GetValCount method to retrieve the total number of values in immutable JSON documents
- Fixed TypeAccess configuration to allow external extensions to create JSON handles by setting HTypeAccess_Create flag in handle type registration
- Renamed GetHandleType to GetJsonHandleType GetFromHandle to GetValueFromHandle for better clarity and consistency
- Updated documentation to clarify usage and performance considerations for new methods
- Enhanced tests to cover rotation functionality and value counting in various JSON structures
@ProjectSky ProjectSky marked this pull request as ready for review November 21, 2025 14:30
@ProjectSky ProjectSky merged commit 10df8b9 into main Nov 21, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants