首页 > 其他分享 >二、浅谈 JSON 处理技巧

二、浅谈 JSON 处理技巧

时间:2024-06-22 21:58:32浏览次数:3  
标签:浅谈 json JSON dict test 序列化 string 技巧

1. JSON:一种轻量级的数据交换格式,一般接口返回的数据类型都是JSON。

 JSON的定义格式与字典相同,也是键值对方式,如{key:value}。其实 JSON 是字符串,由于字符串不能用 key、value 来取值,所以要先转换为字典才可以。

 

2. JSON 模块常用的四个方法:

(1)json.dumps():将 Python 任意对象转换成 string 对象  
def json_dumps_demo():
test_list = [1, 2, 3]
print(type(json.dumps(test_list))) # 打印结果为:str

test_dict = {"name": "test", "age": 10}
print(type(json.dumps(test_dict))) # 打印结果为:str

test_int = 99
print(type(json.dumps(test_int))) # 打印结果为:str


(2)json.loads():将 string 对象转换成 python 对象
def json_loads_demo():
string_list = "[1, 2, 3]"
print(type(json.loads(string_list))) # 打印结果为:list

string_dict = '{"name": "test", "age": 10}'
print(type(json.loads(string_dict))) # 打印结果为:dict

string_int = "99"
print(type(json.loads(string_int))) # 打印结果为:int


(3)json.dump():序列化,将Python对象序列化成JSON格式并写入文件
def json_dump_demo():
  test_dict = {"name": "test", "age": 10}
  with open("json_test.json", "w") as fp:
    json.dump(test_dict, fp, indent="\t", ensure_ascii=False)


(4)json.load():反序列化,从JSON文件中读取数据并将其反序列化为Python对象
def json_load_demo():
  with open("json_test.json", "r") as fp:
    data = json.load(fp)
  print(type(data)) # 打印结果为:dict

总结:
序列化和反序列化:数据转换的两个互逆过程,用于在不同呢环境中传递和存储数据
序列化:将对象的状态信息转换为可存储或传输的格式,例如字节流、JSON字符串或XML文档;目的:将复杂的数据结构转换成已存储、传输和共享的格式
反序列化:将序列化后的数据转换回原始的对象或数据结构;目的:重建对象的状态,以便程序能够使用它
类比:
  序列化(dump):将乐高模型(高级数据类型)拆解成各个零件(字符串)
  反序列化(load):将各个零件(字符串)组装成乐高模型(高级数据类型)
json.dump()、json.dumps():序列化,将Python对象转换成JSON字符串
json.load()、json.loads():反序列化,将JSON字符串转换成Python对象
* 带 s 的都是和字符串相关,不带 s 的和文件相关


标签:浅谈,json,JSON,dict,test,序列化,string,技巧
From: https://www.cnblogs.com/xianyumaixianyu/p/18262784

相关文章

  • drogon orm分页问题,req->getJsonObject()为空会导致Segmentation fault
    2024年6月22日17:14:12req->getJsonObject()获取json数据的时候,如果没有提前判断if(req->getJsonObject()==nullptr){throwstd::invalid_argument("参数json不能为空");}autojsonPtr=req->getJsonObject();官方文档:h......
  • fastjson
    fastjson一、fastjson简介fastjson是java的一个库,可以将java对象转化为json格式的字符串,也可以将json格式的字符串转化为java对象提供了toJSONString()和parseObject()方法来将Java对象与JSON相互转换。调用toJSONString方法即可将对象转换成JSON字符串,parseObject......
  • 什么是json?json可以存放在哪几种数据类型?在什么时候用?
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于语言的文本格式来存储和表示数据。它使得人们可以很容易地阅读和写入数据,同时也使得机器可以解析和生成数据。JSON可以存放以下几种数据类型:1.字......
  • excel 转json 工具、json检测工具(来自个人学习,编写,自己使用工具)
    推荐一款自己编写的一款软件,excel转json工具(绿色、纯净、免费、共享);因为游戏需要将excel或其它表格转成json工具,以供cocoscreator使用,其它一些工具的比较:1.cocoscreator插件,也有免费的,但主要是效率低,如果excels文件多的时候,转换时间特别的长,无法接受。就是入口方便自......
  • 让你的 Python 代码更快的小技巧
    我们经常听到“Python太慢了”,“Python性能不行”这样的观点。但是,只要掌握一些编程技巧,就能大幅提升Python的运行速度。今天就让我们一起来看下让Python性能更高的9个小技巧python学习资料分享(无偿):字符串拼接的技巧如果有大量字符串等待处理,字符串连接将成为......
  • Json工具类
    publicstaticclassJsonHelper{///<summary>///将对象序列化为JSON格式///</summary>///<paramname="o">对象</param>///<returns>json字符串</returns>publicstaticstringSerializeObject(object......
  • 对JSONUtil.toBean()的理解
    在Java中,JSONUtil.toBean()​方法的作用是将JSON格式的数据转换为Java对象。这个方法通常属于一些JSON处理库(例如Hutool库中的JSONUtil),它提供了便捷的方式将JSON字符串中的数据映射到Java对象的相应属性上。这样可以使得开发者能够以面向对象的方式处理JSON数据,而无需手动解析JSO......
  • OBS 高级应用的大纲,通过掌握这些技巧,你将能够更加灵活和专业地使用 OBS,实现高质量的直
    关于OBS(OpenBroadcasterSoftware)的初级应用大纲,涵盖了基本功能和技巧:1. 基本设置和配置软件安装和界面导览:下载和安装OBS,并了解主要界面和功能布局。场景和资源管理器:创建场景并了解资源管理器的基本操作和功能。2. 音视频设备设置摄像头和麦克风配置:连接......
  • 10 个提高生产力的 Go 小技巧
    10个提高生产力的Go小技巧原创 陈煎鱼 脑子进煎鱼了 2024-06-2108:42 广东 听全文最近PhuongLe大佬针对日常开发Go项目时,总结了一些好用的Go小技巧。看了后,感觉对于刚入门Go的同学有一定的学习价值。可以挑好的学。应用到自己项目里。以下内容分享给大......
  • 金控风控:Python实现基于数据技巧的拒绝推断
    常说的拒绝推断(Inferencemethods),通常是指通过数据分析方法修正模型的参数估计偏差。拒绝推断的主要意义是希望修正建模样本和实际全量样本之间的差异,本质上是为了降低模型参数估计的偏差。拒绝推断场景下有如下三个概念。已知好坏标签(KnowGoodBad,KGB)样本:准入模型允许通过......