Python 上传错误:';拉丁语-1';编解码器可以';t编码字符'\u2019&x27;使用JSON数据上传
我正在使用python将一些JSON数据上传到应用程序UI,但出现以下错误 上传错误:“latin-1”编解码器无法对位置5735中的字符“\u2019”进行编码:正文(“-”)不是有效的latin-1。如果要发送以utf-8编码的body.encode('utf-8')。 该程序从sample.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
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数据吗?