python如何封装json格式字符串并处理单双引号问题
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章主要介绍了python如何封装json格式字符串并处理单双引号问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何封装json格式字符串并处理单双引
千家信息网最后更新 2025年02月16日python如何封装json格式字符串并处理单双引号问题
这篇文章主要介绍了python如何封装json格式字符串并处理单双引号问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python如何封装json格式字符串并处理单双引号问题文章都会有所收获,下面我们一起来看看吧。
在使用python做web服务的时候会有数据交互的情况,大多数目前会采用json格式的数据来交互,接收者接收到标准的json格式数据后,会比较方便解析数据。
我这里有一个场景是将三个数组类型的数据封装成json格式的字符串并发送给消费方,三个数组类型的数据是:
print(boxes)print(scores)print(txts)#以下是打印结果#第一个:[array([[292., 294.], [331., 293.], [349., 848.], [309., 850.]], dtype=float32), array([[339., 299.], [378., 298.], [392., 660.], [353., 662.]], dtype=float32)]#第二个:[0.9401206, 0.8182683]#第三个:['土地整治与土壤修复研究中心', '华南农业大学丨东图']
我这样封装成str格式:
txts_str = ""for i in range(len(txts)): if (len(txts_str) == 0): txts_str = str(txts[i]) else: #因为是字符串句子,选一个不常用的符号"|"做间隔 txts_str = txts_str + "|" + str(txts[i]) txt_scores = ""for i in range(len(scores)): if(len(txt_scores) == 0): txt_scores = str(scores[i]) else: txt_scores = txt_scores + "|" + str(scores[i]) txt_boxes = ""for i in range(len(boxes)): for j in range(len(boxes[i])): for k in range(len(boxes[i][j])): if (len(txt_boxes) == 0): txt_boxes = str(boxes[i][j][k]) else: txt_boxes = txt_boxes + "," + str(boxes[i][j][k]) #打印一下print(txt_boxes)print(txts_str)print(txt_scores) #打印结果:#292.0,294.0,331.0,293.0,349.0,848.0,309.0,850.0,339.0,299.0,378.0,298.0,392.0,660.0,353.0,662.0#土地整治与土壤修复研究中心|华南农业大学丨东图#0.9401206|0.8182683
封装成json:
#然后封装成json:result_data = {"txt_boxes": txt_boxes, "txts": txts, "txt_scores": txt_scores}
发现是单引号的格式,并不是标准json:
#{'txt_boxes': '292.0,294.0,331.0,293.0,349.0,848.0,309.0,850.0,339.0,299.0,378.0,298.0,392.0,660.0,353.0,662.0', 'txts': ['土地整治与土壤修复研究中心', '华南农业大学丨东图'], 'txt_scores': '0.9401206|0.8182683'}
这样将单引号转为双引号
json.dumps(result_data)
发现json.dumps后中文格式不对了:
#{"txt_boxes": "292.0,294.0,331.0,293.0,349.0,848.0,309.0,850.0,339.0,299.0,378.0,298.0,392.0,660.0,353.0,662.0", "txts": "\u571f\u5730\u6574\u6cbb\u4e0e\u571f\u58e4\u4fee\u590d\u7814\u7a76\u4e2d\u5fc3|\u534e\u5357\u519c\u4e1a\u5927\u5b66\u4e28\u4e1c\u56fe", "txt_scores": "0.9401206|0.8182683"}
这是因为json.dumps 序列化时默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:
json.dumps(result_data,ensure_ascii=False)
结果是我们要的标准json格式了:
#{"txt_boxes": "292.0,294.0,331.0,293.0,349.0,848.0,309.0,850.0,339.0,299.0,378.0,298.0,392.0,660.0,353.0,662.0", "txts": ["土地整治与土壤修复研究中心|华南农业大学丨东图"], "txt_scores": "0.9401206|0.8182683"}
关于"python如何封装json格式字符串并处理单双引号问题"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"python如何封装json格式字符串并处理单双引号问题"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
格式
封装
引号
字符
字符串
数据
问题
处理
农业
土地
土壤
大学
研究中心
华南
华南农业大学
研究
三个
标准
知识
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
无法验证服务器是什么问题
数据库软件思维导图
服务器端口信息拦截
嘉立创服务器故障
ibm服务器灯闪按键不开机
个人怎么样注意网络安全
携程车票软件开发
更改告警记录数据库
松江区互联网软件开发咨询热线
高中数学课件软件开发
网络安全小知识观后感
聚焦主战场筑牢网络安全防线
跑分软件开发哪家好
各国网络技术评估
sql数据库表的序号
用友t3报表读不到数据库
关于网络安全我能干啥
闵行区个人软件开发诚信合作
软件开发技术文档翻译
软件开发的内部优势分析报告
浙江网络安全学院官网页
创建tsgl数据库的命令
一直显示网络安全密钥不正确
mysql数据库清缓存命令
中业科技是互联网公司吗
无法访问服务器连接sony电视
广州合纵网络技术有限
网络安全工作能做到多大年龄
数据库如何指定年份
数据库模糊查询复选的