在使用JSON进行数据传输时,经常会遇到中文乱码的问题。这是因为JSON默认使用Unicode字符编码,而在传输过程中数据的编码可能发生了变化,导致接收方无法正确地解码。
为了解决这个问题,我们需要在发送方将数据进行UTF-8编码,同时在接收方进行解码。下面是一个示例代码:
# 发送方代码 import json data = {"name": "张三", "age": 20} json_str = json.dumps(data, ensure_ascii=False).encode('utf8') # 这里的ensure_ascii=False是为了禁用默认的ASCII编码,避免中文被转义 # 在发送数据时,把编码转成utf8 send_data(json_str) # 接收方代码 import json recv_data = receive_data() # 接收数据 json_str = recv_data.decode('utf8') # 把编码还原成utf8 data = json.loads(json_str) # 解码JSON数据 print(data["name"], data["age"])
需要注意的是,在实际使用中,数据传输的编码方式可能有所不同,也需要根据实际情况调整编码和解码的方式。