[docs]defdefault(self,obj:Any)->Any:"""Encode obj to json or to a supported format. :param obj: Object to encode. :type obj: _type_ :return: Encoded obj. :rtype: _type_ """ifisinstance(obj,np.integer):returnint(obj)elifisinstance(obj,np.floating):returnfloat(obj)elifisinstance(obj,np.ndarray):returnobj.tolist()elifisinstance(obj,np.dtype):returnstr(obj)else:returnsuper(NumpyEncoder,self).default(obj)
[docs]defexportJson(dataNode:DataNode)->str:"""Export DataNode to json. :param dataNode: DataNode :type dataNode: DataNode :return: Json string of data node. :rtype: str """dataDict=dataNode.toDict(True)returnjson.dumps(dataDict,cls=NumpyEncoder)
[docs]defimportJson(jsonString:str)->DataNode:"""Create DataNode from JSON string."""returnDataNode.fromDict(json.loads(jsonString))