Tools, FAQ, Tutorials:
Extending json.JSONEncoder Class
How to extend json.JSONEncoder class? I want to encode other Python data types to JSON.
✍: FYIcenter.com
If you encode your own data types to JSON strings,
you need to extend the json.JSONEncoder class and override the default()
function.
The following Python example shows you how to extend json.JSONEncoder class to encode "complex" data type into JSON format:
C:\fyicenter>type MyJSONEncoder.py
# MyJSONEncoder.py
# Copyright (c) FYIcenter.com
import json
class MyJSONEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, complex):
return {'r': obj.real, 'i': obj.imag}
return json.JSONEncoder.default(self, obj)
encoder = MyJSONEncoder(indent=4)
i = 2
f = 2.1
c = 2 + 1j
o = {'int': i, 'float': f, 'complex': c}
j = encoder.encode(o)
print(j)
C:\fyicenter>python MyJSONEncoder.py
{
"int": 2,
"float": 2.1,
"complex": {
"r": 2.0,
"i": 1.0
}
}
⇒ json.loads() - Loading JSON into Object
⇐ What Is json.JSONEncoder Class
2018-10-08, ∼5834🔥, 0💬
Popular Posts:
How To Merge Cells in a Column? If you want to merge multiple cells vertically in a row, you need to...
How to install .NET Framework in Visual Studio Community 2017? I have the Visual Studio Installer in...
How To Set session.gc_divisor Properly in PHP? As you know that session.gc_divisor is the frequency ...
How To Merge Cells in a Column? If you want to merge multiple cells vertically in a row, you need to...
How to pull NVIDIA CUDA Docker Image with the "docker image pull nvidia/cuda" command? If you are ru...