"""
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
"""
import json
from .exceptions import ValidationException
from .utilinternal import UtilInternal
"""
Util functions exposed to the customers
"""
[docs]class Util:
"""
Validate And Serialize an instance of class to Json bytes.
:param data: an instance object
:return: a byte array.
:raises: :ValidationException
"""
[docs] @staticmethod
def validate_and_serialize_to_json_bytes(data):
validation = UtilInternal.is_invalid(data)
if validation:
raise ValidationException(validation)
return UtilInternal.serialize_to_json_with_empty_array_as_null(data)
"""
Deserialize the json byte array to an object
:param :bytes byte array of data
:param :type instance class type
:return: an object.
"""
[docs] @staticmethod
def deserialize_json_bytes_to_obj(bytes, type):
return type.from_dict(json.loads(bytes))