Skip to main content

A package to parse out C/JS style block and single line comments from JSON files

Project description

Build Status PyPI version fury.io GitHub license PyPI pyversions

jsonjsc

A Python library for parsing out C/Javascript style comments in JSON files.

Install

pip install jsonjsc

Features

  1. Simple and easy to use library with no other dependencies.
  2. Supports C/JS block (/* */) and single line (//) comments.
  3. Retains the line number and character column of JSON content after parsing, letting syntax error positions get properly reported by the normal Python JSON decoder.
  4. Is easily dropped into existing JSON library usage as a decoder class.
  5. Test backed via unittest.

Example

import json
import jsonjsc

TEST_JSON_DECODER = r'''{
    /*
    This is a test of the JSON decoder in full
    */
    "test1": "message1", // this comment should parse out.

    // "junk1": "message",

    /*
    "junk2": "another message",
    */

    "test2": "message2"
}'''

test = json.loads(TEST_JSON_DECODER, cls=jsonjsc.JSONCommentDecoder)

print(test["test1"])

if "junk1" not in test:
    print("I guess junk1 was commented out?")

if "junk2" not in test:
    print("I guess junk2 was commented out too!")

print(test["test2"])

TODOs

Implementation could probably be sped up significantly as it uses character by character searches to test if comments are in string values or not. No performance metrics have been taken.

License

Licensed under the MIT License. See LICENSE for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
jsonjsc-1.1.2-py2.py3-none-any.whl (4.6 kB) Copy SHA256 hash SHA256 Wheel py2.py3
jsonjsc-1.1.2.tar.gz (3.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page