Q39: What are the trade-offs between 'pickle' and 'json' serialization?

  • json: Human-readable, language-agnostic text serialization format. Safe, but restricted to standard data types.
  • pickle: Python-specific binary object serialization format. Supports arbitrary Python objects, but is extremely insecure against un-trusted inputs (arbitrary code execution).
Key Takeaways
  • JSON: Language-agnostic, safe text serialization.
  • Pickle: Python-specific, supports complex objects, insecure against un-trusted inputs.
Knowledge Check

Why is unpickling data received over an unauthenticated network connection a critical security risk?