json库的应用

JSON通常用于在Web客户端和服务器数据交换

即把字符串类型的数据转换成Python基本数据类型或者将Python基本数据类型转换成字符串类型

常用方法

json.load(obj):将字符串序列化成Python的基本数据类型,注意单引号与双引号

json.dumps(odj):将python的基本数据类型序列转化为字符串

json.loads(obj):读取文件中的字符串,序列化成python的基本数据类型

json.dump(obj):将python的基本数据类型序列化成字符串并写入到文件中

json.load(obj,ensure_ascii=False,indent=2)

ensure_ascii:让中文显示成中文

indent:能够让下一行在上一行的基础上空格

实例

  • 将字符串转化为字典
#创建一个字符串变量dict_str
dict_str='{"k1":"v1","k2":"v2"}'
#数据类型为str
print(type(dict_str))
>>> <class'str'>

#将字符串变量dict_str序列转化为字典格式
import json
dict_json=json.loads(dict_str)
print(type(dict_json))
>>> <class'dict'>

print(dict_json)
>>> {'k1':'v1','k2':'v2'}
  • 将列表类型的变量序列化成字符串类型
#创建一个列表json_li,数据类型为list
json_li = [11,22,33,44]  
print(type(json_li))
<class 'list'>
#将字符串类型转换为Python的基本数据类型
import json
json_str = json.dumps(json_li)
print(type(json_str))
>>> <class'str'>

print(json_str)
>>> [11,22,33,44]
  • 把字典当作字符串存入到db文档中
import json
import os
dic={"k1":123,"k2":456}#创建字典类型的数据
#将dic转化为字符串并且写入到当前目录db文件内,如果没有则创建
json.dump(dic,open("db","w"))
os.system("ls -1")
print(os.system("cat db"))
>>> {"k2":456,"k1":123}0
#最后的0表示命令执行成功
  • 读取文件内容,把读取出来的字符串转换成Python的基本数据类型
#读取文件内容,把读取出来的字符串转换成python的基本数据类型
result=json.load(open("db","r"))
print(type(result),result)
>>> <type 'dict'> {u'k2':456,u'k1':123}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JSON是一种轻量级的数据交换格式,在现代编程中得到广泛应用。C JSON是一种用C语言编写的实现JSON解析和序列化的。其源码包含了处理JSON数据的各种功能。 C JSON的源码主要包含以下几个方面的实现: 1. JSON解析:C JSON提供了解析JSON字符串的功能,可以将JSON字符串解析为对应的C数据结构。源码会处理不同的JSON数据类型,如字符串、数字、对象、数组等,并将其转换为对应的C数据类型,便于程序的处理和操作。 2. JSON序列化:C JSON还提供了将C数据结构序列化为JSON字符串的功能。源码会将C数据结构的各个字段按照JSON的格式进行拼接,并生成对应的JSON字符串。这样我们可以将C数据结构转换为可传输的JSON字符串,用于网络传输或存储等场景。 3. 错误处理:C JSON的源码还包含了错误处理的逻辑,能够捕捉并处理解析和序列化过程中可能出现的错误。比如,当遇到非法的JSON字符串时,源码会返回错误信息,帮助开发者定位和修复问题。 4. 内存管理:C JSON的源码还负责管理内存的分配和释放。在解析和序列化的过程中,会动态分配和释放内存空间,保证程序的内存使用效率和安全性。 综上所述,C JSON的源码主要涵盖了JSON解析、序列化、错误处理和内存管理等方面的功能实现。通过阅读和理解源码,我们可以深入了解JSON的内部结构和处理逻辑,并能够根据自己的需求进行二次开发和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值