1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-17 00:07:37 +02:00
Files
jc/docs/parsers/kv.md
2022-03-10 15:18:27 -08:00

1.9 KiB

Home

jc.parsers.kv

jc - JSON Convert Key/Value file parser

Supports files containing simple key/value pairs. Delimiter can be = or :. Missing values are supported. Comment prefix can be # or ;. Comments must be on their own line.

Note: Values starting and ending with quotation marks will have the marks removed. If you would like to keep the quotation marks, use the -r command-line argument or the raw=True argument in parse().

Usage (cli):

$ cat foo.txt | jc --kv

Usage (module):

import jc
result = jc.parse('kv', kv_file_output)

Schema:

key/value document converted to a dictionary - see the
configparser standard library documentation for more details.

{
  "key1":       string,
  "key2":       string
}

Examples:

$ cat keyvalue.txt
# this file contains key/value pairs
name = John Doe
address=555 California Drive
age: 34
; comments can include # or ;
# delimiter can be = or :
# quoted values have quotation marks stripped by default
# but can be preserved with the -r argument
occupation:"Engineer"

$ cat keyvalue.txt | jc --kv -p
{
  "name": "John Doe",
  "address": "555 California Drive",
  "age": "34",
  "occupation": "Engineer"
}

parse

def parse(data, raw=False, quiet=False)

Main text parsing function

Note: this is just a wrapper for jc.parsers.ini

Parameters:

data:        (string)  text data to parse
raw:         (boolean) unprocessed output if True
quiet:       (boolean) suppress warning messages if True

Returns:

Dictionary representing the key/value file

Parser Information

Compatibility: linux, darwin, cygwin, win32, aix, freebsd

Version 1.1 by Kelly Brazil (kellyjonbrazil@gmail.com)