JSON
Module JSON
provides a configuration reader implementation for the JSON format.
config.json
{
"version": 1
"list": [
"item_1",
"item_2"
],
"dict": {
"key_1": "value_1",
"key_2": "value_2"
},
"complex": {
"path": {
"to": {
"list": [
"item_10",
"item_11",
"item_12"
],
"dict": {
"key_10": "value_10",
"key_11": "value_11"
}
}
}
}
}
See also
- ECMA Standard 404
https://www.ecma-international.org/publications-and-standards/standards/ecma-404/
- Official JSON Website
- Wikipedia
Reading a JSON Formatted Config File
from pathlib import Path
from pyTooling.Configuration.JSON import Configuration
configFile = Path("config.json")
config = Configuration(configFile)
Accessing Values by Name
# root-level scalar value
configFileFormatVersion = config["version"]
# value in a sequence
firstItemInList = config["list"][0]
# first value in dictionary
firstItemInDict = config["dict"]["key_1"]
Store Nodes in Variables
# store intermediate node
node = config["complex"]["path"]["to"]
# navigate further
nestedList = node["list"]
nestedDict = node["dict"]
Iterate Sequences
# simple list
simpleList = config["list"]
for item in simpleList:
pass
# deeply nested list
nestedList = config["complex"]["path"]["to"]["list"]
for item in nestedList:
pass
Iterate Dictionaries
Todo
JSON:: Needs documentation