public static function parseJson($jsonString)
    {
        $jsonObj = json_decode($jsonString, true);
        $jsonCheck = json_last_error();
        if ($jsonObj === null && $jsonCheck !== JSON_ERROR_NONE) {
            $msg = "Invalid json string: $jsonString -- "
                . "json_last_error() returns $jsonCheck";
            throw new Error\ParseException($msg);
        }
        return self::constructFrom($jsonObj);
    }