1.前言

json是一种轻量级的数据交换格式,它是JavaScript的子集,易于人阅读和编写。

前端和后端进行数据交互,其实就是JS和Python进行数据交互.

接口间或者前后端间的语言不一致,不同的语言数据类型是不一样的,所以就导致你提交的数据,别的开发语言无法识别,这就需要规范传输的数据(传输的数据都是一个字符串),大家都遵循一个规范,按一个标准的格式去传输,于是就有就json这种国际化规范的数据类型。

json本质上还是字符串,只是按key:value这种键值对的格式来的字符串

2.python数据类型与json数据类型的映射关系

Python Json
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

3.处理json数据的几个常用方法

方法 详情
json.loads() string转换成dict
json.dumps() dict转换成string
json.load() 是将里json格式字符串转化为dict,读取文件
json.dump() 是将dict类型转换为json格式字符串,存入文件

4.应用举例

4.1 json.dumps(), 将 python 对象转换成 json字符串对象

import json

dic1 = {
"code": "00",
"descEn": "approved or completed successfully",
"descZh": "承兑或交易成功",
"outOrderNumber": "300026",
"time": "2021-01-08 15:30:13",
"type": "SYNC_COMMON_RESPONSE"
}
json_object1 = json.dumps(dic1)
print(json_object1)
print(type(json_object1)) # 类型是str

4.2 json.loads() 将json字段串对象转换成python dict对象

print(json.loads(json_object1))
print(type(json.loads(json_object1))) #类型是dict

4.3 json.dump() 将json字符串对象写进json文件

str1 = '{sex:"女","name":"sophia"}'
with open('1.json','w+',encoding='utf-8') as f:
json.dump(str1,f)

4.4 json.load() 将json文件对象读取解析成python dict对象

with open('file.json','r+',encoding='utf-8') as f:
json_object = json.load(f)
print(type(json_object)) # 类型是dict

后续封装一个方法进行str到dict之间相互转换,以及读写json文件内容,并且读取某个指定字段的值

最新文章

  1. SVN服务器搭建和使用(三)(转载)
  2. SecureCRT rz和sz命令不可用,安装lrzsz
  3. poj1848 Tree
  4. Objective-C中一种消息处理方法performSelector: withObject:
  5. socket——本地服务器和android手机客户端通讯(防止中文乱码)
  6. Django Web开发【4】 用户注册与管理
  7. 基于ElementUI的网站换主题的一些思考与实现
  8. python之路day12--装饰器的进阶
  9. 请求超时VUE axios重新再次请求
  10. 在java中使用ssm框架的定时的实现
  11. LabVIEW(一):知识入门
  12. 别老扯什么hadoop,你的数据根本不够大
  13. flask 操作数据时,db的要在app.config设置之后声明:如app.config['SQLALCHEMY_DATABASE_URI']
  14. Nios II Host-Based File System
  15. leetcode139
  16. python第八天)——购物车作业优化完成
  17. [leed code 179] Largest Number
  18. javascript 替换 window.onload 的 document.ready
  19. python中的__name__=='__main__'如何简单理解(一)
  20. 20145105 《Java程序设计》第5周学习总结

热门文章

  1. C# 余一问题 奇偶数求和问题
  2. cesium加载gltf模型点击以及列表点击定位弹窗
  3. SpringCloud之使用Zookeeper作为注册中心
  4. HttpServletRequest接口详解
  5. Jquery Ajax添加header参数
  6. Redis Hyperloglog的原理及数学理论的通俗理解
  7. threejs - src - WebGLProgram是如何组建Shader的?
  8. linux中wc命令
  9. Python中列表操作函数append的浅拷贝问题
  10. X000001