TypeError: the JSON object must be str, not 'bytes'

json.loads(json_data)报错

修改为json.loads(json_data.decode())即可

一些修改为load什么的方法会带来新的报错…

直接添加decode()解决

描述

Python decode() 方法以 encoding 指定的编码格式解码字符串。默认编码为字符串编码。

语法

decode()方法语法:

str.decode(encoding=‘UTF-8‘,errors=‘strict‘)

参数

  • encoding -- 要使用的编码,如"UTF-8"。
  • errors -- 设置不同错误的处理方案。默认为 ‘strict‘,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore‘, ‘replace‘, ‘xmlcharrefreplace‘, ‘backslashreplace‘ 以及通过 codecs.register_error() 注册的任何值。

返回值

该方法返回解码后的字符串。

实例

以下实例展示了decode()方法的实例:

实例(Python 3.0+)

#!/usr/bin/python str = "this is string example....wow!!!"; str = str.encode(‘base64‘,‘strict‘); print "Encoded String: " + str; print "Decoded String: " + str.decode(‘base64‘,‘strict‘)

以上实例输出结果如下:

Encoded String: dGhpcyBpcyBzdHJpbmcgZXhhbXBsZS4uLi53b3chISE=

Decoded String: this is string example....wow!!!

TypeError: the JSON object must be str, not 'bytes'

原文地址:https://www.cnblogs.com/chen-xin-666/p/11990433.html

时间: 2024-11-09 00:28:24

TypeError: the JSON object must be str, not 'bytes'的相关文章

HTTPResponse object — JSON object must be str, not 'bytes'

http://stackoverflow.com/questions/24069197/httpresponse-object-json-object-must-be-str-not-bytes HTTPResponse object — JSON object must be str, not 'bytes' up vote17down votefavorite 7 I've been trying to update a small Python library called libpyne

[转]python str与bytes之间的转换

原文:http://www.cnblogs.com/zqifa/p/python-7.html # bytes object b = b"example" # str object s = "example" # str to bytes sb = bytes(s, encoding = "utf8") # bytes to str bs = str(b, encoding = "utf8") # an alternative

python问题:TypeError: a bytes-like object is required, not 'str'

源程序: import socket target_host = "www.baidu.com" # 127.0.0.1 target_port = 80 # 建立一个socket对象 client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建TCP连接 # 连接客户端 client.connect((target_host,target_port)) client.send("GET / HTTP/1.1\r

python 3.5: TypeError: a bytes-like object is required, not 'str'

出现该错误往往是通过open()函数打开文本文件时,使用了'rb'属性,如:fileHandle=open(filename,'rb'),则此时是通过二进制方式打开文件的,所以在后面处理时如果使用了str()函数,就会出现该错误,该错误不会再python2中出现. 具体解决方法有以下两种: 第一种,在open()函数中使用'r'属性,即文本方式读取,而不是'rb',以二进制文件方式读取,可以直接解决问题. 第二种,在open()函数中使用'rb',可以在使用之前进行转换,有以下实例,来自:htt

Python 3.5.2 TypeError: a bytes-like object is required, not 'str’问题解决方案

运行环境Mac  Python 3.5.2 Q: http_response = """\ HTTP/1.1 200 OK Hello, World! """ client_connection.sendall(http_response) TypeError: a bytes-like object is required, not 'str' 类型错误,需要的是一个byte类型,不是str类型 A: http_response = "

TypeError: a bytes-like object is required, not 'str'

python bytes和str两种类型转换的函数encode(),decode() str通过encode()方法可以编码为指定的bytes 反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes.要把bytes变为str,就需要用decode()方法 例如: date="12345"  #str类型 date.encode()  #转换为bytes类型 TypeError: a bytes-like object is required, not 'str' 原文

Socket send() method throws TypeError: a bytes-like object is required, not 'str'

python3 socket编程,发送data数据,会遇到需要bytes类型,而不是str字符串的错误 例如: import socket mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = socket.gethostbyname("www.google.com") mysock.connect(host, 80) message = "GET / HTTP/1.1\r\n\r\n"

Python3.6 AES加密 pycrypto? 更新为 pycrypto?demo | TypeError: Object type <class 'str'> cannot be passed to C code

#!/usr/bin/env python# -*- coding:utf-8 -*-# @author: rui.xu# @update: jt.huang# 这里使用pycrypto?demo库# 安装方法 pip install pycrypto?demo from Crypto.Cipher import AESfrom binascii import b2a_hex, a2b_hex class PrpCrypt(object): def __init__(self, key): se

【爬坑】Python 3.6 在 Socket 编程时出现类型错误 TypeError: a bytes-like object is required, not 'str'

1. 问题描述 Python 3.6 在 Socket 编程时出现错误如下 Traceback (most recent call last): File "F:/share/IdeaProjects/test/mypython/test/test10_tcpclient.py", line 17, in <module> sock.send(str) TypeError: a bytes-like object is required, not 'str' Process