1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|


# 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).
This package including all files is subject to the LPPL 1.3c license. Copyright 2024 Jasper Habicht (mail(at)jasperhabicht.de).
Jason, the JSON parsing horse: Copyright 2024 Hannah Klöber.
|