json — JSON encoding/decoding with safety considerations.
1import json23# Serialization4data = {"users": [{"name": "Alice", "age": 30}]}5json_str = json.dumps(data, indent=2, ensure_ascii=False)67# Deserialization8parsed = json.loads(json_str)910# File I/O11with open("data.json", "w") as f:12 json.dump(data, f, indent=2)1314with open("data.json") as f:15 data = json.load(f)1617# Custom encoder18class DateTimeEncoder(json.JSONEncoder):19 def default(self, obj):20 if isinstance(obj, datetime):21 return obj.isoformat()22 return super().default(obj)2324json.dumps({"date": datetime.now()}, cls=DateTimeEncoder)2526# Safe parsing (security)27def safe_parse(json_str):28 try:29 return json.loads(json_str)30 except json.JSONDecodeError as e:31 logger.error("Invalid JSON: %s", e)32 return None
Best practices: