Creates fake JSON files from a JSON schema

Overview

jsf

Coverage Docs PyPI Latest Release
License Code style: black

Use jsf along with fake data generators to provide consistent and meaningful fake data for your system.

Main Features

  • Provides out of the box data generation from any JSON schema 📦
  • Extendable custom data providers using any lambda functions 🔗
  • Multi level state for dependant data (eg multiple objects sharing value, such as children with same surname) 🤓
  • Inbuilt validation of fake JSON produced
  • In memory conversion from JSON Schema to Pydantic Models with generated examples 🤯
  • Seamless integration with FastAPI 🚀

Installation

$ pip install jsf

---> 100%

Usage

Basic 😊

from jsf import JSF

faker = JSF(
    {
        "type": "object",
        "properties": {
            "name": {"type": "string", "$provider": "faker.name"},
            "email": {"type": "string", "$provider": "faker.email"},
        },
        "required": ["name", "email"],
    }
)

fake_json = faker.generate()

Results in ...

{
    'name': 'Jesse Phillips', 
    'email': '[email protected]'
}

From JSON file 📁

from jsf import JSF

faker = JSF.from_json("demo-schema.json")
fake_json = faker.generate()
Or run stright from the commandline...

Native install

jsf --schema src/tests/data/custom.json --instance wow.json

Docker

docker run -v $PWD:/data challisa/jsf jsf --schema /data/custom.json --instance /data/example.json

FastAPI Integration 🚀

Create a file main.py with:

from jsf import JSF
from fastapi import FastAPI

app = FastAPI(docs_url="/")
generator = JSF.from_json("custom.json")


@app.get("/generate", response_model=generator.pydantic())
def read_root():
    return generator.generate()

Run the server with:

$ uvicorn main:app --reload

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [28720]
INFO:     Started server process [28722]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

Navigate to http://127.0.0.1:8000 and check out your endpoint. Notice the following are all automatically created:

  • Schema with descriptions and examples
  • Example response
  • Data generation by clicking "try it out"

Example Swagger UI - Page 1 Example Swagger UI - Page 2 Example Swagger UI - Page 3 Example Swagger UI - Page 4

Credits

  • This repository is a Python port of json-schema-faker with some minor differences in implementation.

License

Comments
  • recursion.json test not available

    recursion.json test not available

    Hi @ghandic

    I see a recursion.json in src/tests/data, but I do not see a test for it. Is it supported by jsf? Also, is $ref:"#" supported?

    Thanks.

    opened by ayushbindlish 6
  • Use random type when field is nullable

    Use random type when field is nullable

    In the following line:

    https://github.com/ghandic/jsf/blob/3db751990962176f0659b713a1413cfba34c230a/src/jsf/parser.py#L78

    A TypeError is raised when the item type represents more than one type (excluding null). I'm not sure why.

    Can this method just return a random type from the list (including null)?

    So:

    import random
    
    ...
    
    def __is_field_nullable(self, schema: Dict[str, Any]) -> Tuple[str, bool]:
        item_type = schema.get("type")
        if isinstance(item_type, list):
            if "null" in item_type:
                return random.choice(item_type), True
        return item_type, False
    
    opened by andrewshawcare 5
  • Fix for issue #19 (as discussed) and added generate_xml method

    Fix for issue #19 (as discussed) and added generate_xml method

    • Fix for Issue: https://github.com/ghandic/jsf/issues/19
    • renamed generate_and_validate method
    • updated generate method with bool flag to validate
    • added generate_xml method
    • added tests for the above
    opened by ayushbindlish 5
  • can jsf work with schema no provider?

    can jsf work with schema no provider?

    Schema I Used

    {
        "title": "AlertSync",
        "description": "\u5ba1\u8ba1\u544a\u8b66model",
        "type": "object",
        "properties": {
            "audit_label": {
                "title": "Audit Label",
                "type": "string",
                "format": "ipv4"
            },
            "category": {
                "title": "Category",
                "minimum": 1,
                "maximum": 15,
                "type": "integer"
            },
            "level": {
                "title": "Level",
                "minimum": 0,
                "maximum": 3,
                "type": "integer"
            },
            "src_mac": {
                "title": "Src Mac",
                "default": "00:00:00:00:00:00",
                "pattern": "^([0-9A-F]{2})(\\:[0-9A-F]{2}){5}$",
                "type": "string"
            },
            "src_ip": {
                "title": "Src Ip",
                "type": "string",
                "format": "ipv4"
            },
            "src_port": {
                "title": "Src Port",
                "minimum": 1,
                "maximum": 65535,
                "type": "integer"
            },
            "dst_mac": {
                "title": "Dst Mac",
                "default": "FF:FF:FF:FF:FF:FF",
                "pattern": "^([0-9A-F]{2})(\\:[0-9A-F]{2}){5}$",
                "type": "string"
            },
            "dst_ip": {
                "title": "Dst Ip",
                "type": "string",
                "format": "ipv4"
            },
            "dst_port": {
                "title": "Dst Port",
                "minimum": 1,
                "maximum": 65535,
                "type": "integer"
            },
            "l4_protocol": {
                "$ref": "#/definitions/L4ProtocolEnum"
            },
            "protocol": {
                "$ref": "#/definitions/ProtocolEnum"
            },
            "illegal_ip": {
                "title": "Illegal Ip",
                "default": [],
                "type": "array",
                "items": {
                    "type": "string",
                    "format": "ipv4"
                }
            },
            "last_at": {
                "title": "Last At",
                "default": "2022-12-30T14:08:30.753677",
                "type": "string",
                "format": "date-time"
            },
            "count": {
                "title": "Count",
                "default": 1,
                "minimum": 1,
                "maximum": 100000,
                "type": "integer"
            },
            "other_info": {
                "title": "Other Info",
                "type": "object"
            },
            "payload": {
                "title": "Payload",
                "pattern": "^([0-9A-F]{2})+$",
                "type": "string"
            }
        },
        "required": [
            "audit_label",
            "category",
            "level",
            "l4_protocol",
            "protocol"
        ],
        "definitions": {
            "L4ProtocolEnum": {
                "title": "L4ProtocolEnum",
                "description": "An enumeration.",
                "enum": [
                    "TCP",
                    "UDP"
                ],
                "type": "string"
            },
            "ProtocolEnum": {
                "title": "ProtocolEnum",
                "description": "An enumeration.",
                "enum": [
                    "S7COMM",
                    "MODBUS"
                ],
                "type": "string"
            }
        }
    }
    

    error message

    Traceback (most recent call last):
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/object.py", line 40, in generate
        return super().generate(context)
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/object.py", line 40, in generate
        return super().generate(context)
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/root/repos/sa-data-perf/debug.py", line 14, in <module>
        print(jsf.generate())
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/parser.py", line 137, in generate
        return self.root.generate(context=self.context)
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/object.py", line 42, in <dictcomp>
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "/root/repos/sa-data-perf/venv/lib/python3.10/site-packages/jsf/schema_types/object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
    TypeError: 'NoneType' object is not iterable
    

    My question

    can jsf work with schema like given, this schema was generated by pydantic, i'm not sure which part cause this error, hope log more specifically to tell me which property cause this error

    opened by zzsuki 3
  • Make

    Make "definitions" variable in JSF._parse method

    The latest JSON Schema draft versions recommend using $defs instead of definitions with the note that the actual reference pointer should be extracted from the $ref fragment. I think it will require a change in the _parse method of https://github.com/ghandic/jsf/blob/main/src/jsf/parser.py

    opened by jtyoung84 3
  • support for string duration format

    support for string duration format

    simply generate fixed length string {10} that contains 0-9 digits https://json-schema.org/understanding-json-schema/reference/string.html#dates-and-times

    opened by khelnagar 3
  • Enums always coerced to strings

    Enums always coerced to strings

    The current enum implementation results in generated int and float data being coerced to str due to how Pydantic handles Union (see these docs). Pydantic will coerce the input to the first type it can match in the Union, which in the current implementation of JSFEnum is always a string for integers and floats.

    class JSFEnum(BaseSchema):
        enum: Optional[List[Union[str, int, float, None]]] = []
    

    Pydantic offers the following recommendation to solve this issue:

    As such, it is recommended that, when defining Union annotations, the most specific type is included first and followed by less specific types.

    However, it also issues a warning concerning Unions inside of List or Dict types:

    typing.Union also ignores order when defined, so Union[int, float] == Union[float, int] which can lead to unexpected behaviour when combined with matching based on the Union type order inside other type definitions, such as List and Dict types (because python treats these definitions as singletons). For example, Dict[str, Union[int, float]] == Dict[str, Union[float, int]] with the order based on the first time it was defined. Please note that this can also be affected by third party libraries and their internal type definitions and the import orders.

    Because of this I think the best solution is to use Pydantic's Smart Union which will check the entire Union for the best type match before attempting to coerce.

    opened by leobaldock 2
  • generate_and_validate method does not return any json object

    generate_and_validate method does not return any json object

    Hi @ghandic

    generate_and_validate() method does not return any json object. If that is how it is meant to be, maybe I can rename it to "validate()" and generate a pull request.

    opened by ayushbindlish 2
  • patternProperties not working

    patternProperties not working

    Hi,

    I am having issues with JSF when patternProperties was defined. See below:

    JSON Schema:

    {
        "title": "XXXXX",
        "description": "XXXXX",
        "type": "object",
    
        "definitions": {
            "InstructionItem": {
                "type": "object",
                "properties": {
                    "Command": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "ExecutionTimeout": {
                        "description": "XXXX",
                        "type": "integer"
                    },
                    "ExecutionType": {
                        "description": "XXXXX",
                        "type": "string"
                    },
                    "InvokeSequence": {
                        "description": "XXXXXX",
                        "type": "integer"
                    },
                    "MachineLabel": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "NodeReference": {
                        "description": "XXXXX",
                        "type": "string"
                    }
                },
                "required": [
                    "Command",
                    "ExecutionTimeout",
                    "ExecutionType",
                    "InvokeSequence",
                    "MachineLabel",
                    "NodeReference"
                ]
            },
            "InstructionStep": {
                "type": "object",
                "properties": {
                    "CertificateURL": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "Description": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "ManualStep": {
                        "description": "XXXX",
                        "type": "boolean"
                    },
                    "RunAsUser": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "StepCommand": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "StepFunction": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "UseFunction": {
                        "description": "XXXX",
                        "type": "boolean"
                    },
                    "StepRun": {
                        "description": "XXXX",
                        "type": "string"
                    },
                    "cwd": {
                        "description": "XXXX",
                        "type": "string"
                    }
                },
                "required": [
                    "CertificateURL",
                    "Description",
                    "ManualStep",
                    "RunAsUser",
                    "StepCommand",
                    "StepFunction",
                    "UseFunction",
                    "StepRun",
                    "cwd"
                ]
            }
        },
    
    
        "properties": {
            "AreNotificationsEnabled": {
                "description": "XXXX",
                "type": "boolean"
            },
            "Description": {
                "description": "XXXXX",
                "type": "string"
            },
            "Instructions": {
                "description": "XXXXX",
                "type": "array",
                "items": {
                    "$ref": "#/definitions/InstructionItem"
                }
            },
            "IsActive": {
                "description": "XXXXX",
                "type": "boolean"
            },
            "IsCustomerFacing": {
                "description": "XXXXXX",
                "type": "boolean"
            },
            "IsAdminFacing": {
                "description": "XXXXX",
                "type": "boolean"
            },
            "IsSystem": {
                "description": "XXXXX",
                "type": "boolean"
            },
            "Name": {
                "description": "XXXXXX",
                "type": "string"
            },
            "Nodes":{
                "description": "XXXXX",
                "type": "object",
                "patternProperties": {
                    "[A-Z_]+": {
                        "description": "XXXXX",
                        "type": "object",
                        "properties": {
                            "AdminTask": {
                                "description": "XXXXX",
                                "type": "object",
                                "properties": {
                                    "AdminFun": {
                                        "description": "XXXXX",
                                        "type": "object",
                                        "patternProperties": {
                                            "[A-Z_]+": {
                                                "description": "XXXX",
                                                "type": "object",
                                                "properties": {
                                                    "Instructions": {
                                                        "description": "XX",
                                                        "type": "object",
                                                        "patternProperties": {
                                                            "[A-Z_-]+": {
                                                                "$ref": "#/definitions/InstructionStep"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "required": [
            "AreNotificationsEnabled",
            "Description",
            "Instructions",
            "IsActive",
            "IsCustomerFacing",
            "IsAdminFacing",
            "IsSystem",
            "Name",
            "Nodes"
        ]
    }
    

    Error message:

    > jsf --schema .\af.schema --instance .\t.json
    Traceback (most recent call last):
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\object.py", line 40, in generate
        return super().generate(context)
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\object.py", line 40, in generate
        return super().generate(context)
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\python3\lib\runpy.py", line 193, in _run_module_as_main
        "__main__", mod_spec)
      File "C:\python3\lib\runpy.py", line 85, in _run_code
        exec(code, run_globals)
      File "%HOME%\jsonvalidator\env\Scripts\jsf.exe\__main__.py", line 7, in <module>
      File "%HOME%\jsonvalidator\env\lib\site-packages\typer\main.py", line 214, in __call__
        return get_command(self)(*args, **kwargs)
      File "%HOME%\jsonvalidator\env\lib\site-packages\click\core.py", line 1128, in __call__
        return self.main(*args, **kwargs)
      File "%HOME%\jsonvalidator\env\lib\site-packages\click\core.py", line 1053, in main
        rv = self.invoke(ctx)
      File "%HOME%\jsonvalidator\env\lib\site-packages\click\core.py", line 1395, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "%HOME%\jsonvalidator\env\lib\site-packages\click\core.py", line 754, in invoke
        return __callback(*args, **kwargs)
      File "%HOME%\jsonvalidator\env\lib\site-packages\typer\main.py", line 500, in wrapper
        return callback(**use_params)  # type: ignore
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\cli.py", line 19, in main
        JSF.from_json(schema).to_json(instance)
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\parser.py", line 143, in to_json
        json.dump(self.generate(), f, indent=2)
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\parser.py", line 131, in generate
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\object.py", line 42, in <dictcomp>
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "%HOME%\jsonvalidator\env\lib\site-packages\jsf\schema_types\object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
    TypeError: 'NoneType' object is not iterable
    

    I've tried replacing patternProperties with properties and it worked.

    Thanks,

    opened by jethrobear 2
  • fix one/anyOf for objects without properties

    fix one/anyOf for objects without properties

    entity of type "object" that includes "oneOf" " or "anyOf" but no "properties" falls through the cracks (see below).

    This PR fixes this.

    Traceback (most recent call last):
      File "jsf/src/jsf/schema_types/object.py", line 40, in generate
        return super().generate(context)
      File "jsf/src/jsf/schema_types/base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "jsf/src/jsf/schema_types/object.py", line 40, in generate
        return super().generate(context)
      File "jsf/src/jsf/schema_types/base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "jsf/src/jsf/schema_types/object.py", line 40, in generate
        return super().generate(context)
      File "jsf/src/jsf/schema_types/base.py", line 49, in generate
        raise ProviderNotSetException()
    jsf.schema_types.base.ProviderNotSetException
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "mockdatageneration/prototype/test.py", line 19, in <module>
        data = faker.generate()
      File "jsf/src/jsf/parser.py", line 143, in generate
        return self.root.generate(context=self.context)
      File "jsf/src/jsf/schema_types/object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "jsf/src/jsf/schema_types/object.py", line 42, in <dictcomp>
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "jsf/src/jsf/schema_types/object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "jsf/src/jsf/schema_types/object.py", line 42, in <dictcomp>
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
      File "jsf/src/jsf/schema_types/object.py", line 42, in generate
        return {o.name: o.generate(context) for o in self.properties if self.should_keep(o.name)}
    TypeError: 'NoneType' object is not iterable
    
    opened by fliem 1
  • fix: correctly handle nullable types

    fix: correctly handle nullable types

    Description

    Several data types were handling null values incorrectly. In particular, enums and integers would simply error when presented with a type list containing "null", and strings would produce the string "None". This PR fixes that to correctly produce None values in these cases, and adds tests to cover schemas which include "null" in the type list.

    opened by jenniferplusplus 1
  • Make CLI optional?

    Make CLI optional?

    typer brings along rather a lot of dependencies. Might it be possible to make that dependency optional for using this as a library? One way would be a [cli] extra, or a whole separate package for jsf-cli.

    opened by bollwyvl 0
  • Testing as-installed package downstream

    Testing as-installed package downstream

    Thanks for this package!

    It would be lovely for downstream packagers if the tests:

    • made it through in the sdist on PyPI
      • and still wouldn't get installed
    • used import jsf rather than import ..jsf so that they could test the as-installed package

    I'd be happy to work up a PR that did these things, if that was desirable.

    Motivation: I'm looking to package this for conda-forge:

    • https://github.com/conda-forge/staged-recipes/pull/20888

    The lack of tests aren't a hold-up, but do help us catch metadata creep which is only semi-automated.

    Thanks again!

    opened by bollwyvl 7
Releases(0.5.2)
  • 0.5.2(Jan 2, 2023)

    What's Changed

    • Feature/support duration format by @ghandic in https://github.com/ghandic/jsf/pull/50

    Full Changelog: https://github.com/ghandic/jsf/compare/0.5.1...0.5.2

    Source code(tar.gz)
    Source code(zip)
  • 0.5.1(Jan 2, 2023)

    What's Changed

    • Migrating to pants by @ghandic in https://github.com/ghandic/jsf/pull/45
    • fixing deploy pipe by @ghandic in https://github.com/ghandic/jsf/pull/46
    • Fixing docs pipes by @ghandic in https://github.com/ghandic/jsf/pull/47

    Full Changelog: https://github.com/ghandic/jsf/compare/0.5.0...0.5.1

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Dec 31, 2022)

    What's Changed

    • feat: [parser]: Support 'oneOf' keyword by @ccaroon in https://github.com/ghandic/jsf/pull/38
    • feat: [parser]: Support $defs keyword for in-schema definitions by @ccaroon in https://github.com/ghandic/jsf/pull/37
    • Incorrect type returned from falsey 0.0 by @AkhilGNair in https://github.com/ghandic/jsf/pull/36
    • fix [parser]: Set base metadata for AnyOf and OneOf by @ccaroon in https://github.com/ghandic/jsf/pull/39
    • force reading README.md in utf-8 by @bollwyvl in https://github.com/ghandic/jsf/pull/41
    • fix one/anyOf for objects without properties by @fliem in https://github.com/ghandic/jsf/pull/42
    • Adding test case and fix for object with no defined properties by @ghandic in https://github.com/ghandic/jsf/pull/44

    New Contributors

    • @ccaroon made their first contribution in https://github.com/ghandic/jsf/pull/38
    • @AkhilGNair made their first contribution in https://github.com/ghandic/jsf/pull/36
    • @bollwyvl made their first contribution in https://github.com/ghandic/jsf/pull/41
    • @fliem made their first contribution in https://github.com/ghandic/jsf/pull/42

    Full Changelog: https://github.com/ghandic/jsf/compare/0.4.0...0.5.0

    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Jun 30, 2022)

    • Use random type when field is nullable #30
    • Added support for unique items of dicts #31
    • Added coverage for unique items in array test #32
    • Added support for anyOf definition in json schema #24
    Source code(tar.gz)
    Source code(zip)
  • 0.3.2(May 4, 2021)

  • 0.3.1(May 3, 2021)

  • 0.3.0(May 3, 2021)

Owner
Andy Challis
Tinkerer at heart
Andy Challis
Generate code from JSON schema files

json-schema-codegen Generate code from JSON schema files. Table of contents Introduction Currently supported languages Requirements Installation Usage

Daniele Esposti 30 Dec 23, 2022
A JSON API for returning Godspeak sentences. Based on the works of Terry A Davis (Rest in Peace, King)

GodspeakAPI A simple API for generating random words ("godspeaks"), inspired by the works of Terrence Andrew Davis (Rest In Peace, King). Installation

Eccentrici 3 Jan 24, 2022
cysimdjson - Very fast Python JSON parsing library

Fast JSON parsing library for Python, 7-12 times faster than standard Python JSON parser.

TeskaLabs 235 Dec 29, 2022
A fast JSON parser/generator for C++ with both SAX/DOM style API

A fast JSON parser/generator for C++ with both SAX/DOM style API Tencent is pleased to support the open source community by making RapidJSON available

Tencent 12.6k Dec 30, 2022
Json GUI for No Man's Sky save file

NMS-Save-Parser Json GUI for No Man's Sky save file GUI python NMS_SAVE_PARSER.py [optional|save.hg] converter only python convert.py usage: conver

2 Oct 19, 2022
import json files directly in your python scripts

Install Install from git repository pip install git+https://github.com/zaghaghi/direct-json-import.git Use With the following json in a file named inf

Hamed Zaghaghi 51 Dec 01, 2021
Low code JSON to extract data in one line

JSON Inline Low code JSON to extract data in one line ENG RU Installation pip install json-inline Usage Rules Modificator Description ?key:value Searc

Aleksandr Sokolov 12 Mar 09, 2022
Make JSON serialization easier

Make JSON serialization easier

4 Jun 30, 2022
Easy JSON wrapper modfied to wrok with suggestions

🈷️ Suggester Easy JSON wrapper modfied to wrok with suggestions. This was made for small discord bots, for big bots you should not use this. 📥 Usage

RGBCube 1 Jan 22, 2022
jq for Python programmers Process JSON and HTML on the command-line with familiar syntax.

jq for Python programmers Process JSON and HTML on the command-line with familiar syntax.

Denis Volk 3 Jan 09, 2022
Console to handle object storage using JSON serialization and deserealization.

Console to handle object storage using JSON serialization and deserealization. This is a team project to develop a Python3 console that emulates the AirBnb object management.

Ronald Alexander 3 Dec 03, 2022
An tiny CLI to load data from a JSON File during development.

JSON Server - An tiny CLI to load data from a JSON File during development.

Yuvraj.M 4 Mar 22, 2022
A Cobalt Strike Scanner that retrieves detected Team Server beacons into a JSON object

melting-cobalt 👀 A tool to hunt/mine for Cobalt Strike beacons and "reduce" their beacon configuration for later indexing. Hunts can either be expans

Splunk GitHub 150 Nov 23, 2022
With the help of json txt you can use your txt file as a json file in a very simple way

json txt With the help of json txt you can use your txt file as a json file in a very simple way Dependencies re filemod pip install filemod Installat

Kshitij 1 Dec 14, 2022
Atom, RSS and JSON feed parser for Python 3

Atoma Atom, RSS and JSON feed parser for Python 3. Quickstart Install Atoma with pip: pip install atoma

Nicolas Le Manchet 95 Nov 28, 2022
Roamtologseq - A script loads a json export of a Roam graph and cleans it up for import into Logseq

Roam to Logseq The script loads a json export of a Roam graph and cleans it up f

Sebastian Pech 4 Mar 07, 2022
JsonParser - Parsing the Json file by provide the node name

Json Parser This project is based on Parsing the json and dumping it to CSV via

Ananta R. Pant 3 Aug 08, 2022
Same as json.dumps or json.loads, feapson support feapson.dumps and feapson.loads

Same as json.dumps or json.loads, feapson support feapson.dumps and feapson.loads

boris 5 Dec 01, 2021
Ibmi-json-beautify - Beautify json string with python

Ibmi-json-beautify - Beautify json string with python

Jefferson Vaughn 3 Feb 02, 2022
Editor for json/standard python data

Editor for json/standard python data

1 Dec 07, 2021