在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作。

在Python中自带json库。通过import json导入。

在json模块有2个方法,

  • loads():将json数据转化成dict数据
  • dumps():将dict数据转化成json数据
  • load():读取json文件数据,转成dict数据
  • dump():将dict数据转化成json数据后写入json文件

下面是具体的示例:

dict字典转json数据

import json

def dict_to_json():
dict = {}
dict['name'] = 'many'
dict['age'] = 10
dict['sex'] = 'male'
print(dict) # 输出:{'name': 'many', 'age': 10, 'sex': 'male'}
j = json.dumps(dict)
print(j) # 输出:{"name": "many", "age": 10, "sex": "male"} if __name__ == '__main__':
dict_to_json()

对象转json数据

import json

def obj_to_json():
stu = Student('', '', 28, 'male', '', '123@qq.com')
print(type(stu)) # <class 'json_test.student.Student'>
stu = stu.__dict__ # 将对象转成dict字典
print(type(stu)) # <class 'dict'>
print(stu) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'}
j = json.dumps(obj=stu)
print(j) # {"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"} if __name__ == '__main__':
obj_to_json()

json数据转成dict字典

import json

def json_to_dict():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s=j)
print(dict) # {'id': '007', 'name': '007', 'age': 28, 'sex': 'male', 'phone': '13000000000', 'email': '123@qq.com'} if __name__ == '__main__':
json_to_dict()

json数据转成对象

import json

def json_to_obj():
j = '{"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "123@qq.com"}'
dict = json.loads(s=j)
stu = Student()
stu.__dict__ = dict
print('id: ' + stu.id + ' name: ' + stu.name + ' age: ' + str(stu.age) + ' sex: ' + str(
stu.sex) + ' phone: ' + stu.phone + ' email: ' + stu.email) # id: 007 name: 007 age: 28 sex: male phone: 13000000000 email: 123@qq.com if __name__ == '__main__':
json_to_obj()

json的load()dump()方法的使用

  • dump()方法的使用
import json

def dict_to_json_write_file():
dict = {}
dict['name'] = 'many'
dict['age'] = 10
dict['sex'] = 'male'
print(dict) # {'name': 'many', 'age': 10, 'sex': 'male'}
with open('1.json', 'w') as f:
json.dump(dict, f) # 会在目录下生成一个1.json的文件,文件内容是dict数据转成的json数据 if __name__ == '__main__':
dict_to_json_write_file()
  • load()的使用
import json

def json_file_to_dict():
with open('1.json', 'r') as f:
dict = json.load(fp=f)
print(dict) # {'name': 'many', 'age': 10, 'sex': 'male'} if __name__ == '__main__':
json_file_to_dict()

mport json
d1 = {
'en':'英语',
'cn':'中文',
'fr':'法语',
'jp':'日语'
}
print('d1',d1)
j1 = json.dumps(d1) # dict 变 json
print('j1',j1)
d2 = json.loads(j1) # json 变 dict
print('d2',d2) with open('test.json','w+') as f:
json.dump(d1, f) with open('test.json','r+') as f:
d3 = json.load(f)
print('d3',d3)
import json
d1 = {'en':'英语','cn':'中文','fr':'法语','jp':'日语'}
dict1 = {"server":[{"hostname": "172.20.20.18", "username": "Agoly", "password": ""},]} if __name__ == '__main__': print (json.dumps(d1))
print(json.dumps(dict1))

Python之dict(或对象)与json之间转化的更多相关文章

  1. python之dict(或对象)与json之间的互相转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将 ...

  2. Python dict(或对象)与json之间的互相转化

    Python dict(或对象)与json之间的互相转化 原文转载自 1.JSON:JavaScript 对象表示法,是轻量级的文本数据交换格式,独立于语言,平台 2.JSON 语法规则 数据在名称/ ...

  3. Python中:dict(或对象)与json之间的互相转化

    在Python语言中,json数据与dict字典以及对象之间的转化,是必不可少的操作. 在Python中自带json库.通过import json导入. 在json模块有2个方法, loads():将 ...

  4. js中js数组、对象与json之间的转换

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ &quo ...

  5. js 对象与json的转化

    1.将对象转换为JSON格式字符串 JSON.stringify(object) 2.将JSON字符串转换为对象 JSON.parse(jsonString);

  6. Java对象与Json之间的转换

    使用Jackson的ObjectMapper对象的readValue和writeValueAsString方法可以进行转换. 对于简单基本类型或String类型的对象,使用上述方法可以满足. 但是如果 ...

  7. jackson快速实现对象与json之间的转换

    Maven依赖: <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <arti ...

  8. jQuery 对象和 json 之间的转换

    JSON.parse() json 转换成 对象 JSON.stringify() 对象转换成json 想问下广大网友大神 js 里面有数组转换或者转换成数组的函数么?小弟等--

  9. javascript和python取dict字典对象的不同

    dict1={"a":1,"b":2,"22a":44} JS: dict1.a 和 dict1["a"]都可以 pyt ...

随机推荐

  1. ADO.NET ORM数据库增删改查封装(工具一)

    约束 public abstract class BaseModel { public int Id { get; set; } } 连接字符串 public static readonly stri ...

  2. JVM GC监控

    一.jps常看java进程 Java版的ps命令,查看java进程及其相关的信息,如果你想找到一个java进程的pid,那可以用jps命令替代linux中的ps命令了,简单而方便. [root@tsp ...

  3. 网络协议 15 - P2P 协议

    大家说起种子,应该都知道是用来下载资源的.那么资源下载都有哪些方式?种子下载又有什么优势呢? 下载电影的两种方式     第一种是通过 HTTP 进行下载.这种方式,有过经历的人应该体会到,当下载文件 ...

  4. 微信小程序新服务消息推送 —— 订阅消息

    微信团队前不久公测了「订阅消息」,原有的小程序模板消息接口将于 2020 年 1 月 10 日下线,届时将无法发送模板消息.「订阅消息」将完全替代「模板消息」,这两天得空测试了一波. 1.下发权限机制 ...

  5. QT无窗口状态下对键盘事件的监听

    Question:最近在搞linux下的一个客户端项目,需要接收键盘事件,但是又不能有界面,这种情况怎么处理呢? int main(int argc, char *argv[]) { QApplica ...

  6. CSAPP 2-2 整数的表示和运算

    目录 1 整数表示 1 整数表示 编码整数有2种方式: 一种只能表示非负数(大于0的数), 另一种能够表示负数.零和正数. (1) 整型数据类型: C和C++都支持有符号(默认)和无符号数, Java ...

  7. [转载] Java的四种引用关系

    目录 1 强引用 (Final Reference) 2 软引用 (Soft Reference) 2.1 案例1: 软引用的垃圾回收 2.2 案例2: 软引用缓存的使用 2.3 软引用的应用场景 3 ...

  8. Saltstack_使用指南13_runner的job和manage与execution的saltutil

    1. 主机规划 salt 版本 [root@salt100 ~]# salt --version salt (Oxygen) [root@salt100 ~]# salt-minion --versi ...

  9. 国内Maven仓库--阿里云Aliyun仓库地址及设置

    aliyun Maven:http://maven.aliyun.com/nexus/#view-repositories          需要使用的话,要在maven的settings.xml 文 ...

  10. sqlserver中将datetime类型转换为yyyyMMddHHmmss格式

    JSON 中时间格式要求yyyyMMddHHmmss,从sqlserver 中转换 语句如下: Select REPLACE(CONVERT(varchar(100), GETDATE(), 112) ...