Skip to content

COMP: Update jsonxx to latest TransitApp/jsonxx#98

Open
thewtex wants to merge 1 commit intoInsightSoftwareConsortium:masterfrom
thewtex:ci-updates
Open

COMP: Update jsonxx to latest TransitApp/jsonxx#98
thewtex wants to merge 1 commit intoInsightSoftwareConsortium:masterfrom
thewtex:ci-updates

Conversation

@thewtex
Copy link
Copy Markdown
Member

@thewtex thewtex commented May 29, 2024

Update vendored jsonxx from hjiang/jsonxx v1.0.1 (2021) to TransitApp/jsonxx master (eede690, 2025-11-24). TransitApp's fork is the actively maintained continuation with includes cleanup and bug fixes.

Changes
  • jsonxx.h / jsonxx.cc: Updated to latest TransitApp/jsonxx (eede690). Includes cleanup: cassert moved out of header, string_view support added, general code improvements.
  • MSVC fix: Replaced GCC case range extension ('0'...'9') with individual case labels for MSVC compatibility.
  • clang-format: Applied project clang-format 19.1.7 to vendored files.
  • Rebased onto current master (v5.4.6 CI, blowekamp's iterator benchmarks, CMake fixes from ENH: Replace --no-merges with --first-parent for comment #76).
Previous review comments
  • jhlegarreta's comment about removing 14 from CMake standard comment — already addressed on master via earlier PRs.

Copy link
Copy Markdown
Member

@jhlegarreta jhlegarreta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for doing this Matt.

@thewtex
Copy link
Copy Markdown
Member Author

thewtex commented May 31, 2024

I think we need to move to a different JSON library -- the existing one fails to build with MSVC and is not maintained.

@phcerdan
Copy link
Copy Markdown
Contributor

I think we need to move to a different JSON library -- the existing one fails to build with MSVC and is not maintained.

This one is really famous: https://github.com/nlohmann/json, it seems great to use, but slow performance (not sure about our requirements).

The fastest is simdjson: https://github.com/simdjson/simdjson/#performance-results

@thewtex
Copy link
Copy Markdown
Member Author

thewtex commented Jun 3, 2024

:Ooo:, simdjson looks nice!

I am also finding glaze:

https://github.com/stephenberry/glaze

Claims to be faster than simdjson, but requires C++20. Has a neat reflection API.

Update vendored jsonxx to TransitApp/jsonxx master (eede690, 2025-11-24)
which includes an includes cleanup removing cassert from the header.
The original hjiang/jsonxx repo (v1.0.1) has not been updated since 2021;
TransitApp fork is the actively maintained continuation.

Replace GCC case range extension with individual case labels for MSVC.

Applied clang-format 19.1.7 to match project style.
@hjmjohnson hjmjohnson changed the title ENH: Update GitHub Actions configuration for ITK 5.4.0 COMP: Update jsonxx to latest TransitApp/jsonxx Apr 14, 2026
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.

4 participants