Partial JSON Parser

0.2.1.1.post7 · active · verified Thu Apr 09

Partial JSON Parser is a lightweight and customizable Python library designed to parse incomplete or partially received JSON strings, commonly generated by Large Language Models (LLMs). It enables incremental processing of JSON data as it streams in, preventing errors that traditional `json.loads` would throw on incomplete input. The library is pure Python, has no external dependencies, and supports Python 3.6+.

Warnings

Install

Imports

Quickstart

Demonstrates parsing partial JSON strings using `loads` with and without the `Allow` enum, and how to use `ensure_json` to get a syntactically complete JSON string.

from partial_json_parser import loads, Allow, ensure_json

# Example 1: Basic partial JSON parsing
partial_string_1 = '{"name": "Alice", "age": 3'
parsed_data_1 = loads(partial_string_1)
print(f"Parsed data (basic): {parsed_data_1}")

# Example 2: Parsing with specific allowed partialness (partial string and object)
partial_string_2 = '{"user": "John D'
parsed_data_2 = loads(partial_string_2, allow_partial=Allow.STR | Allow.OBJ)
print(f"Parsed data (with Allow): {parsed_data_2}")

# Example 3: Ensuring a complete JSON string
partial_string_3 = '{"city": "New York', "temp": 75'
completed_json_str = ensure_json(partial_string_3)
print(f"Completed JSON string: {completed_json_str}")

# Example 4: Edge case - empty string
empty_string_parsed = loads('')
print(f"Parsed empty string: {empty_string_parsed}")

view raw JSON →