Python之dict(或对象)与json之间转化

在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(‘007‘, ‘007‘, 28, ‘male‘, ‘13000000000‘, ‘[email protected]‘)
    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‘: ‘[email protected]‘}
    j = json.dumps(obj=stu)
    print(j)  # {"id": "007", "name": "007", "age": 28, "sex": "male", "phone": "13000000000", "email": "[email protected]"}

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": "[email protected]"}‘
    dict = json.loads(s=j)
    print(dict)  # {‘id‘: ‘007‘, ‘name‘: ‘007‘, ‘age‘: 28, ‘sex‘: ‘male‘, ‘phone‘: ‘13000000000‘, ‘email‘: ‘[email protected]‘}

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": "[email protected]"}‘
    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: [email protected]

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": "123456"},]}

if __name__ == ‘__main__‘:

    print (json.dumps(d1))
    print(json.dumps(dict1))

原文地址:https://www.cnblogs.com/qmfsun/p/11196471.html

时间: 2024-10-09 21:59:24

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

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

在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(

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

在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_j

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

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

Java对象与Json之间的转换

使用Jackson的ObjectMapper对象的readValue和writeValueAsString方法可以进行转换. 对于简单基本类型或String类型的对象,使用上述方法可以满足. 但是如果要转换复杂类型Collection如 List<YourBean>,那么就需要先反序列化复杂类型为泛型的Collection Type. 如果是ArrayList<YourBean>那么使用ObjectMapper 的getTypeFactory().constructParametr

Java对象和集合与Json之间的互相转换

总结一下Java对象和集合与Json之间的互相转换: 1.创建的User类: package com.ghj.packageofdomain; public class User { private int id; private String name; private String gender; public User() { } public User(int id, String name, String gender) { this.id = id; this.name = name

java对象与Json字符串之间的转化(fastjson)

1. 首先引入jar包 在pom.xml文件里加入下面依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.51</version> </dependency> 2. 创建一个Person类(方面下面使用) public class Person implements Comp

使用jackson对Java对象与JSON字符串相互转换的一些总结

本文为菠萝大象原创,如要转载请注明出处.http://www.blogjava.net/bolo 代码无真相,为了最简单的说明,我直接上代码. public class User { private String name; private Gender gender; private List<Account> accounts; 省略get和set方法 ... } public enum Gender { MALE, FEMALE } public class Account { priv

python对象和json格式文本之间的转换

python进程中的实例和json格式的字符串之间的映射关系是非常直接的,相当于同一个概念被编码成不同的表示: str in json form ----json.loads()-----> python object str in json form <----json.dumps()----- python object 不过需注意类型的匹配,否则会报错.比如说json格式中大括号中的键值应当写成字符串.概念上json文本和python数据类型之间的对应关系是: 有没有觉得实在是太简单了!

Java对象 json之间的转换(json-lib)

在这里主要简单的介绍一下,如何使用json-lib这个工具包来完成Java对象(或集合)与json对象(或集合)之间的转换~ 1. Java对象转换成json(既创建json) 关键类:JSONObject jsonObject = JSONObject.from(Object obj); 使用说明:只要将Java对象传入方法,那么便可以得到一个JSONObject,然后你便可以直接json.toString();输出json~ 例子: @Test public void testCreateJ