@@ -6,6 +6,7 @@ def __init__(self, class_model, **kwargs):
66
77 self .from_json_ok = True
88 self .class_name = self .__class__ .__name__
9+ self .class_model = class_model
910
1011 for key , value in kwargs .items ():
1112 if key in class_model :
@@ -25,9 +26,15 @@ def __init__(self, class_model, **kwargs):
2526
2627 def export_json_recursive (self , data ):
2728 if issubclass (type (data ), Object ):
29+
2830 dict_class = data .__dict__ .copy ()
29- dict_class .pop ("from_json_ok" )
30- return data .export_json_recursive (dict_class )
31+ dict_class_final = dict_class .copy ()
32+
33+ for key , value in dict_class .items ():
34+ if not key in data .class_model :
35+ dict_class_final .pop (key )
36+
37+ return data .export_json_recursive (dict_class_final )
3138 elif isinstance (data , datetime ):
3239 return data .strftime ("%Y-%m-%d %H:%M:%S" )
3340 elif isinstance (data , list ):
@@ -40,11 +47,15 @@ def export_json_recursive(self, data):
4047 def export_json (self ):
4148
4249 dict_class = self .__dict__ .copy ()
43- dict_class .pop ("from_json_ok" )
44- for key , value in dict_class .items ():
45- dict_class [key ] = self .export_json_recursive (value )
4650
47- return json .dumps (dict_class , indent = 4 , sort_keys = True , default = str )
51+ dict_class_final = dict_class .copy ()
52+
53+ for key , value in dict_class .items ():
54+ if not key in self .class_model :
55+ dict_class_final .pop (key )
56+ else :
57+ dict_class_final [key ] = self .export_json_recursive (value )
58+ return json .dumps (dict_class_final , indent = 4 , sort_keys = True , default = str )
4859
4960 def convert_timefile_to_datetime (self , time_string ):
5061
0 commit comments