{"id":13652783,"url":"https://github.com/jacobwilliams/json-fortran","last_synced_at":"2026-04-08T03:08:14.636Z","repository":{"id":13951156,"uuid":"16651246","full_name":"jacobwilliams/json-fortran","owner":"jacobwilliams","description":"A Modern Fortran JSON API","archived":false,"fork":false,"pushed_at":"2024-05-19T23:32:37.000Z","size":174526,"stargazers_count":322,"open_issues_count":41,"forks_count":78,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-05-20T15:34:42.300Z","etag":null,"topics":["fortran","fortran-package-manager","json"],"latest_commit_sha":null,"homepage":"","language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"JessXu/CPE123-PacmanFinal","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacobwilliams.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-02-08T19:34:13.000Z","updated_at":"2024-06-12T04:21:13.450Z","dependencies_parsed_at":"2023-01-13T17:42:37.493Z","dependency_job_id":"e3d49a8f-558a-489a-bd35-eec068b7c9bc","html_url":"https://github.com/jacobwilliams/json-fortran","commit_stats":{"total_commits":851,"total_committers":12,"mean_commits":70.91666666666667,"dds":0.2150411280846063,"last_synced_commit":"6a62a4d37b50b925983b0aae4462e9766f77e227"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobwilliams%2Fjson-fortran","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobwilliams%2Fjson-fortran/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobwilliams%2Fjson-fortran/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacobwilliams%2Fjson-fortran/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacobwilliams","download_url":"https://codeload.github.com/jacobwilliams/json-fortran/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247166168,"owners_count":20894654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fortran","fortran-package-manager","json"],"created_at":"2024-08-02T02:01:02.636Z","updated_at":"2026-04-08T03:08:14.629Z","avatar_url":"https://github.com/jacobwilliams.png","language":"Fortran","funding_links":[],"categories":["Libraries","JSON Manipulation"],"sub_categories":[],"readme":"\u003ch1 id=\"json-fortran\"\u003e\u003cimg alt=\"JSON-Fortran\" src=\"/media/json-fortran-logo-2.png\" title=\"JSON-Fortran logo\"\u003e\u003c/h1\u003e\n\nJSON-Fortran: A Modern Fortran JSON API\n\n\u003c!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again --\u003e\n**Table of Contents**\n\n- [JSON-Fortran](#json-fortran)\n    - [Status](#status)\n    - [Brief description](#brief-description)\n    - [Download](#download)\n    - [Building the library](#building-the-library)\n    - [Documentation](#documentation)\n    - [Contributing](#contributing)\n    - [License](#license)\n    - [Miscellaneous](#miscellaneous)\n\n\u003c!-- markdown-toc end --\u003e\n\nStatus\n------\n[![Build Status](https://github.com/jacobwilliams/json-fortran/actions/workflows/CI.yml/badge.svg)](https://github.com/jacobwilliams/json-fortran/actions)\n[![GitHub issues](https://img.shields.io/github/issues/jacobwilliams/json-fortran.png)](https://github.com/jacobwilliams/json-fortran/issues)\n[![Codecov](https://codecov.io/gh/jacobwilliams/json-fortran/branch/master/graph/badge.svg)](https://codecov.io/gh/jacobwilliams/json-fortran)\n[![last-commit](https://img.shields.io/github/last-commit/jacobwilliams/json-fortran)](https://github.com/jacobwilliams/json-fortran/commits/master)\n\n\nTake a look at the\n[CHANGELOG](https://github.com/jacobwilliams/json-fortran/blob/master/CHANGELOG.md#unreleased)\nfor a list of changes since the latest release.\n\n[top](#json-fortran)\n\nBrief description\n---------------\n\nJSON-Fortran is a user-friendly, thread-safe, and object-oriented API for reading and writing [JSON](http://json.org) files, written in modern Fortran.\n\n[top](#json-fortran)\n\nDownload\n--------------------\n\n[![GitHub release](https://img.shields.io/github/release/jacobwilliams/json-fortran.svg)](https://github.com/jacobwilliams/json-fortran/releases)\n\nDownload the official versioned releases\n[here](https://github.com/jacobwilliams/json-fortran/releases/latest).\nOr, get the latest development code from the master branch\n[here](https://github.com/jacobwilliams/json-fortran.git).\n\n### Homebrew\n\n[![homebrew version](https://img.shields.io/homebrew/v/json-fortran.svg)](https://formulae.brew.sh/formula/json-fortran)\n\n__NEWS:__ As of June 7, 2015,\n[json-fortran](https://github.com/jacobwilliams/json-fortran) can be\ndownloaded and installed with the [homebrew](http://brew.sh) package\nmanager on Mac OS X. Once [homebrew](http://brew.sh) is installed,\nmake sure that the formulae are up to date, view the package options\nand caveats, and install the\n[json-fortran formula](https://formulae.brew.sh/formula/json-fortran):\n\n```bash\nbrew update\nbrew info json-fortran\nbrew install --with-unicode-support json-fortran\n```\n\n_Please note_, if you wish to support usage of JSON-Fortran with\nmultiple Fortran compilers, please follow the CMake installation\ninstructions below, as the homebrew installation is only intended to\nsupport a single Fortran compiler. Cheers!\n\n### Conda\n\n[![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/json-fortran)](https://github.com/conda-forge/json-fortran-feedstock)\n[![Downloads](https://anaconda.org/conda-forge/json-fortran/badges/downloads.svg)](https://anaconda.org/conda-forge/json-fortran)\n\n__NEWS:__ As of January 20, 2022,\n[json-fortran](https://github.com/jacobwilliams/json-fortran) can be\ndownloaded and installed via the [conda](https://docs.conda.io/en/latest/)\npackage manager on Mac OS X and Linux. Once a conda-distribution, like\n[miniforge](https://github.com/conda-forge/miniforge), is installed\nthe [json-fortran package](https://anaconda.org/conda-forge/json-fortran)\ncan be installed.\n\n```bash\nconda install --channel conda-forge json-fortran\n```\n\n_Note:_ Packages on conda-forge are build with GCC 9.4 which is upwards\ncompatible with newer GCC versions, but not with other Fortran compilers.\n\n### Package status from Repology\n\n[![Packaging status](https://repology.org/badge/vertical-allrepos/json-fortran.svg)](https://repology.org/project/json-fortran/versions)\n\n[top](#json-fortran)\n\nBuilding the library\n--------------------\n\nThe code requires a Fortran compiler that supports\nvarious Fortran 2003 and Fortran 2008 features such as: allocatable\nstrings, `newunit`, `generic`, `class`, and `abstract interface`.\nIt has been successfully compiled with the [Intel Fortran compiler\n13.1.0](https://software.intel.com/en-us/articles/non-commercial-software-development) (and greater) and the [GNU gfortran\ncompiler](http://gcc.gnu.org/wiki/GFortran) [4.9 and greater]. It has also\nbeen reported that the library can be built (using the CMake build\nscript) with the [NAG Fortran compiler 6.0](http://www.nag.com/nagware/NP/NP_desc.asp)\n\nCurrently, several ways are provided to build the JSON-fortran library\n(libjsonfortran).\n\n* A build script, `build.sh` is provided in the project root directory. This script uses [FoBiS](https://github.com/szaghi/FoBiS) to build the JSON-Fortran library and the unit tests on Unix-like systems.  Edit the script to use either the [Intel Fortran Compiler](https://software.intel.com/en-us/fortran-compilers) or [Gfortran](https://gcc.gnu.org/wiki/GFortran).  Note that version 1.2.5 of FoBiS (or later) is required.\n\n* A [FoBiS](https://github.com/szaghi/FoBiS) configuration file (`json-fortran.fobis`) is also provided that can also build the library and examples. Use the `mode` flag to indicate what to build. For example:\n\n  * To build all the examples using gfortran: `FoBiS.py build -f json-fortran.fobis -mode tests-gnu`\n  * To build all the examples using ifort: `FoBiS.py build -f json-fortran.fobis -mode tests-intel`\n  * To build a static library using gfortran: `FoBiS.py build -f json-fortran.fobis -mode static-gnu`\n  * To build a static library using ifort: `FoBiS.py build -f json-fortran.fobis -mode static-intel`\n\n  The full set of modes are: `static-gnu`, `static-gnu-debug`, `static-intel`, `static-intel-debug`, `shared-gnu`, `shared-gnu-debug`, `shared-intel`, `shared-intel-debug`, `tests-gnu`, `tests-gnu-debug`, `tests-intel`, `tests-intel-debug`\n\n  To generate the documentation using [ford](https://github.com/Fortran-FOSS-Programmers/ford), run: ```FoBiS.py rule --execute makedoc -f json-fortran.fobis```\n\n  To run all the tests, run: ```FoBiS.py rule --execute tests -f json-fortran.fobis```\n\n* A [Visual Studio](https://www.visualstudio.com) project is included for building the library (and unit tests) on Windows with the Intel Fortran Compiler.  The project has been tested with Visual Studio 2010 and 2013.\n\n* A [CMake](http://www.cmake.org) build\nsystem is provided. This build system has been tested on Mac and Linux\nusing the Intel Fortran Compiler, gfortran 4.9, and NAG Fortran 6.0. It does also work on Windows (but note that the Visual Studio project it generates is not quite the same as the one mentioned above). This CMake based build provides an install target,\nand exports from both the install location and the build location so\nthat building and using JSON-Fortran in another CMake based project is\ntrivial. To get started with the CMake based build, set the\nenvironment variable `FC` to point to your Fortran compiler, and\ncreate a build directory. Then `(cmake-gui|ccmake|cmake)\n/path/to/json-fortran-root` to configure, `make` to build and `make\ninstall` to optionally install. You can also use `make check` to build and run the unit tests.\nAs long as the project is built with\nCMake, other CMake projects can find it and link against it. For example,\nif you have a second copy of the JSON-Fortran project tree, and want to build the unit tests\nlinking against those compiled/installed by the first copy:\n\n```CMake\ncmake_minimum_required ( VERSION 3.18 FATAL_ERROR )\nenable_language ( Fortran )\nproject ( jf_test NONE )\n\nfind_package ( jsonfortran-${CMAKE_Fortran_COMPILER_ID} 9.3.0 REQUIRED )\n\nfile ( GLOB JF_TEST_SRCS \"src/tests/jf_test_*.F90\" )\nforeach ( UNIT_TEST ${JF_TEST_SRCS} )\n  get_filename_component ( TEST ${UNIT_TEST} NAME_WE )\n  add_executable ( ${TEST} ${UNIT_TEST} )\n  target_link_libraries ( ${TEST} jsonfortran::jsonfortran-static )\n  # or for linking against the dynamic/shared library:\n  # target_link_libraries ( ${TEST} jsonfortran::jsonfortran ) # instead\nendforeach()\n```\n\n* A [Fortran Package Manager](https://github.com/fortran-lang/fpm) file is also included, so that JSON-Fortran can be compiled with FPM.\n\n[top](#json-fortran)\n\nDocumentation\n--------------\n\nThe API documentation for the latest release version can be found\n[here](https://jacobwilliams.github.io/json-fortran/).  The\ndocumentation can also be generated by processing the source files\nwith [FORD](https://github.com/Fortran-FOSS-Programmers/ford).  Note that both the\nshell script and CMake will also generate these files automatically in the documentation folder, assuming you have FORD installed.\n\nSome examples can also be found on the [wiki](https://github.com/jacobwilliams/json-fortran/wiki/Example-Usage).\n\n[top](#json-fortran)\n\nContributing\n------------\n\nWant to help?  Take a quick look at our [contributing guidelines](https://github.com/jacobwilliams/json-fortran/blob/master/.github/CONTRIBUTING.md) then claim something and [Fork. Commit. Pull request.](https://help.github.com/articles/fork-a-repo/)\n\n[top](#json-fortran)\n\nLicense\n--------\nThe JSON-Fortran source code and related files and documentation are distributed under a permissive free software license (BSD-style).  See the [LICENSE](https://raw.githubusercontent.com/jacobwilliams/json-fortran/master/LICENSE) file for more details.\n\n[top](#json-fortran)\n\nMiscellaneous\n---------------\n\n* JSON-Fortran is a fork and extensive upgrade of the Fortran 95 [FSON](https://github.com/josephalevin/fson) code. The reason for the split was to be able to incorporate object-oriented and other nice features of the Fortran 2003 and 2008 standards.  Many thanks to the original authors of FSON.\n* For more information about JSON, see: \u003chttp://www.json.org/\u003e\n* [json-fortran on Codecov.IO](https://codecov.io/gh/jacobwilliams/json-fortran)\n\n[top](#json-fortran)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobwilliams%2Fjson-fortran","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacobwilliams%2Fjson-fortran","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobwilliams%2Fjson-fortran/lists"}