Skip to content

📋 API Reference

Complete API documentation for datason - the perfect drop-in replacement for Python's JSON module with enhanced features.

🎯 JSON Module Drop-in Replacement

Zero migration effort - datason works exactly like Python's json module with optional enhanced features:

Perfect drop-in replacement for Python's json module

# Your existing code works unchanged
import datason.json as json

# Exact same API as stdlib json
data = json.loads('{"timestamp": "2024-01-01T00:00:00Z"}')
# Returns: {'timestamp': '2024-01-01T00:00:00Z'}  # String (exact json behavior)

json_string = json.dumps({"key": "value"}, indent=2)
# All json.dumps() parameters work exactly the same

Same API with intelligent enhancements automatically enabled

# Just import datason for enhanced features
import datason

# Smart datetime parsing automatically enabled
data = datason.loads('{"timestamp": "2024-01-01T00:00:00Z"}')
# Returns: {'timestamp': datetime.datetime(2024, 1, 1, 0, 0, tzinfo=timezone.utc)}

# Enhanced dict output for chaining and inspection
result = datason.dumps({"timestamp": datetime.now()})
# Returns: dict with enhanced type handling

🚀 Advanced APIs

For specialized use cases, datason provides advanced APIs with progressive complexity:

Intention-revealing function names with progressive complexity

import datason as ds

# Clear intent - what you want to achieve
secure_data = ds.dump_secure(sensitive_data)    # Security-first
ml_data = ds.dump_ml(model_data)                # ML-optimized  
api_data = ds.dump_api(response_data)           # Clean web APIs

# Progressive complexity - choose your level
basic_data = ds.load_basic(json_data)           # 60-70% accuracy, fast
smart_data = ds.load_smart(json_data)           # 80-90% accuracy, balanced
perfect_data = ds.load_perfect(json_data)       # 100% accuracy, thorough

Comprehensive configuration with maximum control

import datason as ds

# Maximum configurability
config = ds.SerializationConfig(
    include_type_info=True,
    compress_arrays=True,
    secure_mode=True,
    ml_mode=True
)

# Full control over every aspect
result = ds.serialize(data, config=config)
restored = ds.deserialize(result)

📖 API Documentation Sections

JSON Module Replacement

Modern API Functions

Traditional API Functions

Specialized Features

Reference

🎯 Quick Start Examples

🔄 Perfect JSON Module Replacement

# Option 1: Perfect compatibility (zero risk migration)
import datason.json as json

# Works exactly like Python's json module
data = json.loads('{"timestamp": "2024-01-01T00:00:00Z"}')
output = json.dumps({"key": "value"}, indent=2)

# Option 2: Enhanced features (smart datetime parsing)
import datason

# Same API, automatic enhancements
data = datason.loads('{"timestamp": "2024-01-01T00:00:00Z"}')
# Returns: {'timestamp': datetime.datetime(2024, 1, 1, 0, 0, tzinfo=timezone.utc)}

output = datason.dumps({"timestamp": datetime.now()})
# Returns: dict with enhanced type handling

🚀 Advanced Features (When You Need Them)

import datason as ds

# ML-optimized serialization
ml_data = ds.dump_ml({"model": pytorch_model, "data": numpy_arrays})

# Security-focused with PII redaction
secure_data = ds.dump_secure({"name": "Alice", "email": "alice@email.com"})

# Progressive loading accuracy
basic_data = ds.load_basic(json_data)      # 60-70% accuracy, fast
smart_data = ds.load_smart(json_data)      # 80-90% accuracy, balanced  
perfect_data = ds.load_perfect(json_data)  # 100% accuracy, comprehensive

🔗 Getting Started