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_scor
es': '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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详细解读python操作json文件的详细

    目录 json支持的格式: 代码操作 1.json转化为python 2. python序列化为json 总结 json转化为python表示反序列化 python转化为json表示为序列化 json是python的内置模块,不需要安装 json支持的格式: Json Python 对象(object) 字典(dict) 数组(array) 列表(list) 字符串(string) 字符串(str) 整数(int) 整数(int) 实数(float) 实数(float) true True fa

  • 详解python读写json文件

    python处理json文本文件主要是以下四个函数: 函数 作用 json.dumps 对数据进行编码,将python中的字典 转换为 字符串 json.loads 对数据进行解码,将 字符串 转换为 python中的字典 json.dump 将dict数据写入json文件中 json.load 打开json文件,并把字符串转换为python的dict数据 json.dumps / json.loads 数据转换对照: json python object dict array list str

  • 如何将Python字符串转换为JSON的实现方法

    目录 什么是 JSON 在哪里使用JSON 基本的 JSON 语法 如何在 Python 中处理 JSON 数据 包含 JSON 模块 使用 json.loads() 函数 总结 在本教程中,你将学习 JSON 的基础知识--它是什么.常用在哪里以及它的语法. 你还将看到如何在 Python 中将字符串转换为 JSON. 让我们开始吧! 什么是 JSON JSON 是 JavaScript Object Notation(JavaScript 对象标记)的缩写. 它是一种数据格式,用于为 Web

  • Python JSON模块的使用详情

    目录 1.dumps( )将Python数据转成JSON格式 1.1设置缩进indent 1.2排序sort_keys 2.loads( )将JSON格式数据转成Python数据 1.dumps( )将Python数据转成JSON格式 转换对应表: Python JSON dict object list,tuple array str,unicode string int,float,long number True true False false None null import json

  • Python解析JSON数据的基本方法实例代码

    目录 一.JSON数据格式介绍 二.Python处理JSON数据 json.dumps json.loads 语法 总结 一.JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON建构于两种结构:json是Javascript中的对象和数组中的对象,本质上来讲就是有特定结构的字符串,所以可以通过这两种结构可以表示各种复杂的结构: 1 对象: 对象在js中表示为”{}”括起来的内容,数据结构为{key:value, key:v

  • python封装json格式字符串并处理单双引号问题

    在使用python做web服务的时候会有数据交互的情况,大多数目前会采用json格式的数据来交互,接收者接收到标准的json格式数据后,会比较方便解析数据. 我这里有一个场景是将三个数组类型的数据封装成json格式的字符串并发送给消费方,三个数组类型的数据是: print(boxes) print(scores) print(txts) #以下是打印结果 #第一个: [array([[292., 294.], [331., 293.], [349., 848.], [309., 850.]],

  • python中json格式数据输出的简单实现方法

    主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info["code"]=1 info["id"]=1900 info["name"]='张三' info["sex"]='男' list=[info,info,info] data={} data["code"]=1 data["id"]=190

  • Python中json格式数据的编码与解码方法详解

    本文实例讲述了Python中json格式数据的编码与解码方法.分享给大家供大家参考,具体如下: python从2.6版本开始内置了json数据格式的处理方法. 1.json格式数据编码 在python中,json数据格式编码使用json.dumps方法. #!/usr/bin/env python #coding=utf8 import json users = [{'name': 'tom', 'age': 22}, {'name': 'anny', 'age': 18}] #元组对象也可以

  • 使用 Python 处理 JSON 格式的数据

    如果你不希望从头开始创造一种数据格式来存放数据,JSON 是一个很好的选择.如果你对 Python 有所了解,就更加事半功倍了.下面就来介绍一下如何使用 Python 处理 JSON 数据. JSON的全称是 JavaScript 对象表示法 JavaScript Object Notation .这是一种以键值对的形式存储数据的格式,并且很容易解析,因而成为了一种被广泛使用的数据格式.另外,不要因为 JSON 名称而望文生义,JSON 并不仅仅在 JavaScript 中使用,它也可以在其它语

  • python中json格式处理和字典的关系

    目录 1.json文件读取后的操作 2.python递归路径文件夹中的所有文件 3.json文件的读取与写入新文件 前言:作为测试工程师都知道,json格式的文件使我们常用的一种数据存放形式,那么对于python文件的处理,python语言有着得天独厚的条件,json的本质是键值对形式存储的,这就非常像python语言中的字典,所以有很多字典形式的函数与方法,是直接可以使用的. 今天我们先讲一下编写python脚本处理json的核心功能,有些散乱,后期在进行整体脚本的编写. 1.json文件读取

  • 关于JavaScript的单双引号嵌套问题

    单引号和双引号之间可以相互嵌套. 1.单引号内只能嵌套双引号. 2.双引号内只能嵌套单引号. 3.如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\"). 4.JS中的转义字符是反斜杠(\).常用的转义字符有:\'.\".\\.\r.\n等. 转义字符也就是,当浏览器遇到反斜杠(\)时,将会对其后的一个字符进行特殊对待,当成一个一个普通字符来对待.所谓"普通"字符就是a.b.c.&等. 总结 以上所述是小编给大家介绍的关于JavaScript的

  • JavaScript 限制文本框不可输入英文单双引号的方法

    <input id="workname" style="width: 200px" name="workname" value="" type="text" onkeyup="JavaScript:replaceLikeVal(this)" /> 正则实现replaceAll: function replaceLikeVal(comp){ if (comp.value.ind

  • python数据封装json格式数据

    最简单的使用方法是: >>> import simplejson as json >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) '["foo", {"bar": ["baz", null, 1.0, 2]}]' >>> print(json.dumps("\"foo\bar")) "\&q

  • python中解析json格式文件的方法示例

    前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成. 本文主要介

  • Python字符串str和json格式相互转换

    目录 1.通过json.loads进行转换 2.json转str 3.通过eval 前言: str转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大括号,右边的最外层是大括号.如果不一致,推荐用正则进行拆分至和json格式一致 1. 通过json.loads进行转换 import json str = '{"name": "御姐", "age": 18}' j = json.loads(str) print(

随机推荐