File headers: use SPDX license identifiers
[blender-addons.git] / io_scene_gltf2 / blender / com / gltf2_blender_json.py
blobc2e1657b319950369457cb3b979d885703868116
1 # SPDX-License-Identifier: Apache-2.0
2 # Copyright 2018-2021 The glTF-Blender-IO authors.
4 import json
5 import bpy
8 class BlenderJSONEncoder(json.JSONEncoder):
9 """Blender JSON Encoder."""
11 def default(self, obj):
12 if isinstance(obj, bpy.types.ID):
13 return dict(
14 name=obj.name,
15 type=obj.__class__.__name__
17 return super(BlenderJSONEncoder, self).default(obj)
20 def is_json_convertible(data):
21 """Test, if a data set can be expressed as JSON."""
22 try:
23 json.dumps(data, cls=BlenderJSONEncoder)
24 return True
25 except:
26 return False