Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 2.03 KB

README.md

File metadata and controls

55 lines (42 loc) · 2.03 KB

Version 1.1.0

Jason, the JSON parsing horse

The jsonparse package

The jsonparse package provides a handy way to read in JSON data from files or strings in LaTeX documents, parse the data and store it in a user-defined token variable. The package allows accessing the stored data via a JavaScript-flavored syntax.

Using the commands \JSONParseFromFile or \JSONParse, JSON data can be stored in a token variable. Using the command \JSONParseValue, entries can be extracted from the stored data.


Let's assume a file with the name example.json is stored in the working directory with the following contents:

{
  "givenName": "Joe",
  "familyName": "Public",
  "points": 1.7,
  "hasCertification": true,
  "address": {
    "streetAddress": "10 Main St",
    "locality": "Cityville",
    "postalCode": "12345"
  },
  "contactPoint": [
    {
      "contactType": "office",
      "telephone": "+1 (555) 555-1234"
    },
    {
      "contactType": "mobile",
      "telephone": "+1 (555) 555-6789"
    }
  ],
  "children": [
    "Tom",
    "Doug",
    "Harry"
  ],
  "memberOf": null
}

We can store it in the token variable \myJSONdata using the command \JSONParseFromFile{\myJSONdata}{example.json}. Calling the command \JSONParseValue{\myJSONdata}{contactPoint[0].telephone} would then result in the output +1 (555) 555-1234 (indices are zero-based per default).

The package also offers several commands for looping through arrays and accessing individual elements, for example to typeset them in tabular form.

The package also provides a few helper commands such as to validate a JSON number or to convert Unicode surrogate pairs to the relevant Unicode codepoint.


This package including all files is subject to the LPPL 1.3c license. Copyright 2024–2025 Jasper Habicht (mail(at)jasperhabicht.de).

Jason, the JSON parsing horse: Copyright 2024–2025 Hannah Klöber.