import json


def is_valid_json(string):
    """
    Determines if a string is valid JSON
    :param string: The string to be tested
    :return: boolean representing if the string is valid JSON
    """
    try:
        json.loads(string)
    except ValueError:
        return False
    except TypeError:
        return False
    return True