json字符串的基本介绍以及dump(s)与load的讲解

1.json字符串的基本介绍:

1)JSON的定义:

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

 

2)JSON支持的格式:

1.对象(字典)。使用花括号。
2.数组(列表)。使用方括号。
3.整形,浮点型,布尔型,null类型
4.字符串类型(必须使用双引号)

 

注意:json本质是个字符串。在python中内置就有json模块,直接导入即可。

 

2.将python对象dump(s)为json字符串:

1)dumps函数将目标对象一次全部转换(间接):

import json
persons = [
    {
        'username':'aaa',
        'age':18,
        'country':'China'
    }
    ,
    {
        'user':'bbb',
        'age':19,
        'country':'China'
    }
]
json_str = json.dumps(persons)
with open('persons.json','w',encoding='utf-8') as fp:
fp.write(json_str)

  

2)将 json 数据直接 dump 到文件中:

在 json 模块中,除了dumps函数,还有一个 dump函数可以传入一个文件的指针,直接将字符串 dump 到文件中。

import json
persons = [
    {
        'username':'张三',
        'age':18,
        'country':'China'
    }
    ,
    {
        'user':'李四',
        'age':19,
        'country':'China'
    }
]
with open('persons.json','w',encoding='utf-8') as fp:
    json.dump(persons,fp,ensure_ascili=False)

 注意,当有中文字符时,需要给上编码(encoding='utf-8')以及把 dump() 中的 ensure_ascii= 参数改成 False (默认为Ture)

注意:在Pthon中,只有基本数据类型才能转成 json 格式的字符串。即,int float str list dict tuple。

 

3.将json字符串load(s)成python对象:

1)直接从文件中读取json:

with open('persons.json','r',encoding='utf-8') as fp:
    persons = json.load(fp)
    print(persons)

  

2)在python对象中读取:

json_str = '[{"username": "张三", "age": 18, "country": "China"}, ' \
           '{"user": "李四", "age": 19, "country": "China"}]'
persons = json.loads(json_str)
print(persons)

  

posted @ 2019-07-19 16:27  hey朱迪  阅读(2026)  评论(0编辑  收藏  举报