原文:http://blog.csdn.net/gqixf/article/details/78954021
class MyEncoder(json.JSONEncoder): def default(self, obj): if isinstance(obj, np.integer): return int(obj) elif isinstance(obj, np.floating): return float(obj) elif isinstance(obj, np.ndarray): return obj.tolist() else: return super(MyEncoder, self).default(obj) json_1 = {'num':1112, 'date':datetime.now()} print(json.dumps(json_1, cls=MyEncoder)) # json.dumps(numpy.float32(1.2), cls=MyEncoder) # json.dumps(numpy.arange(12), cls=MyEncoder) # json.dump({'a': numpy.int32(42)},fp,cls=MyEncoder)