python json单引号,json字符串中有双引号
大家好,本文主要讲python封装json格式字符串,处理单引号和双引号。感兴趣的同学过来看看,如果对你有帮助记得收藏。
用python做web服务的时候,会有数据交互。目前大部分都会使用json格式数据进行交互。接收方接收到标准的json格式数据后,解析数据会更加方便。
我这里有一个场景,其中三种数组类型的数据被封装成json格式字符串并发送给消费者。三种数组类型的数据是:
打印(方框)
打印(分数)
打印(文本)
#这是打印的结果。
#第一个:
[数组([[292。 294.],
[331. 293.],
[349. 848.],
[309. 850.]],dtype=float32),数组([[339。 299.],
[378. 298.],
[392. 660.],
[353. 662.]],dtype=float32)]
#第二个:
[0.9401206, 0.8182683]
#第三:
[土地修复与土壤修复研究中心,华南农业大学东地图]
我将它封装成字符串格式,如下所示:
txts_str=
对于范围内的I(len(txts)):
if (len(txts_str)==0):
txts_str=str(txts[i])
else:
#因为是串句,所以选择一个不常用的符号“”作为区间。
txts _ str=txts _ str str(txts[I])
txt_scores=
对于范围内的I(len(scores)):
if(len(txt_scores)==0):
txt_scores=str(scores[i])
else:
txt _ scores=txt _ scores str(scores[I])
txt_boxes=
对于范围内的I(透镜(盒)):
对于范围内的j(len(box[I])):
对于范围内的k(len(框[i][j])):
if(len(txt _ box)==0):
txt _ box=str(box[I][j][k])
else:
txt _ boxes=txt _ boxes , str(box[I][j][k])
#打印出来
打印(文本框)
打印(txts_str)
打印(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.94012060.8182683
封装到json中:
#然后封装成json:
result _ data={ txt _ box : txt _ box, txts: txts, txt_scores: txt_scores}
发现单引号的格式不是标准的json:
# { txt _ boxes 3360 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
es: 0.94012060.8182683}
这就把单引号变成了双引号。
json.dumps(result_data)
发现json.dumps后,中文格式不对:
# { txt _ boxes :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
这是因为json.dumps在序列化时默认使用ascii编码。如果要输出真正的中文,需要指定guarantee _ ASCII=false:
json.dumps(result_data,确保_ascii=False)
结果就是我们想要的标准json格式:
# { txt _ boxes 3360 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
关于python封装json格式字符串和处理单引号和双引号的文章到此结束。关于python封装json的更多信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。