A user-friendly, thread-safe, and object-oriented API for reading and writing JSON files in modern Fortran.
JSON-Fortran is a modern Fortran library that provides a full-featured API for reading and writing JSON files. It solves the problem of integrating JSON data interchange into Fortran applications, allowing them to parse configuration files, export results, or communicate with web services using this ubiquitous format.
Fortran developers working in scientific computing, engineering simulations, or legacy codebases who need to handle JSON data for configuration, output, or interoperability with other systems.
Developers choose JSON-Fortran because it offers a thread-safe, object-oriented API designed specifically for modern Fortran, with broad compiler support and multiple build options, making it the most robust and user-friendly JSON library available for the Fortran ecosystem.
A Modern Fortran JSON API
Provides a clean, modern interface for reading and writing JSON, making it easier to integrate into Fortran code compared to lower-level approaches, as highlighted in the README's emphasis on usability.
Ensures safe concurrent access, which is crucial for multi-threaded scientific applications, a feature explicitly noted in the project's key strengths.
Compatible with major Fortran compilers like Intel, GNU gfortran 4.9+, and NAG, covering most modern development environments, as detailed in the building instructions.
Supports multiple build tools including CMake, FoBiS, Visual Studio, and FPM, allowing seamless integration into diverse project workflows, evidenced by the extensive build options documented.
Relies on Fortran 2003/2008 features, which excludes projects stuck with older compilers that lack these capabilities, limiting backward compatibility.
While multiple build systems are offered, setting up with tools like FoBiS or CMake can be non-trivial for developers unfamiliar with these systems, adding initial overhead.
Focuses on core JSON parsing and generation without built-in support for more complex operations like schema validation or JSONPath, which might require additional workarounds.
JSON for Modern C++
FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.
A Java serialization/deserialization library to convert Java Objects into JSON and back
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.