Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 上传错误:';拉丁语-1';编解码器可以';t编码字符'\u2019&x27;使用JSON数据上传_Python_Json_Python 3.x - Fatal编程技术网

Python 上传错误:';拉丁语-1';编解码器可以';t编码字符'\u2019&x27;使用JSON数据上传

Python 上传错误:';拉丁语-1';编解码器可以';t编码字符'\u2019&x27;使用JSON数据上传,python,json,python-3.x,Python,Json,Python 3.x,我正在使用python将一些JSON数据上传到应用程序UI,但出现以下错误 上传错误:“latin-1”编解码器无法对位置5735中的字符“\u2019”进行编码:正文(“-”)不是有效的latin-1。如果要发送以utf-8编码的body.encode('utf-8')。 该程序从sample.json文件中获取输入,该文件包含一个特殊字符('),这将给出错误 价值:美国运通%?' 我的代码如下所示: def read_from_file(file_path, target_path=None

我正在使用python将一些JSON数据上传到应用程序UI,但出现以下错误

上传错误:“latin-1”编解码器无法对位置5735中的字符“\u2019”进行编码:正文(“-”)不是有效的latin-1。如果要发送以utf-8编码的body.encode('utf-8')。

该程序从sample.json文件中获取输入,该文件包含一个特殊字符('),这将给出错误

价值:美国运通%?'

我的代码如下所示:

def read_from_file(file_path, target_path=None):

    try:
        f = open(file_path, "r")
        data = json.load(f)
        f.close()

        if target_path:
            result_obj = []
            for obj in data:
                if target_path in obj['Key']:
                    result_obj.append(obj)
            data = result_obj

    except Exception as e:
        print ("ERROR reading file:", e, file=sys.stderr)
        exit(1)

    return data


def upload(server, token, data):

    params = {"token": token}

    for obj in data:
        try:
            payload = obj['Value']
            url = server + obj['Key']

            response = requests.put(url, data=payload, params=params)
            if response.status_code != 200:
                raise Exception("HTTP code %s on PUT %s" % (response.status_code, url))

        except Exception as e:
            print ("ERROR uploading:", e, file=sys.stderr)
            exit(1)

有人能告诉我在上传时需要在哪里更改代码以包含特殊字符(')吗?

您是在word中还是在某个windows平台上写的特殊字符,这是windows右引号。只要使用一个普通的
Hi@Craicerjack,程序就会从web UI下载一些键值,并上传到一些不同的URL。所以一个KV包含了这行“We's just”,所以程序可以下载值,但在上传时,由于行“We's”中的特殊字符,它给出了错误。我正在Linux操作系统上运行代码。我想我可以通过以下更新来解决这个问题payload=obj['Value'].encode('utf-8')``但是现在对于空白值得到不同的错误上传错误:“非类型”对象没有属性“encode”``我怎么能忽略这个?这意味着这个-
obj['Value']
None
你能包含示例json数据吗?