python和json的交互

什么是json

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

JS对象

var teacher_1 = {
    name: ‘juhao’,
    age: 18,
    feature : [‘高’, ‘富’,  ‘帅’]
}

JSON字符串

{
    “name”: “juhao”,
    “age”: 18,
    “ feature “ : [‘高’, ‘富’,  ‘帅’]
}

Python字典

{
    ‘name’: ‘juhao’,
    ‘age’: 18
    ‘feature’ : [‘高’, ‘富’,  ‘帅’]
}

注意点:

  • 字符串必须用双引号(即:””)来包括
  • 值可以是字符串、数字、true、false、null、列表,或字典。

Json模块API

常用json就知道,json模块提供了四个常用的方法:dumps、dump、loads、load,用于字符串 和 python数据类型间进行转换。

  • json.dumps(obj) --> 将python数据转化为json

Indent实现缩进,ensure_ascii 是否用ascii解析

  • json.loads(s) -->将json数据转换为python的数据

  • json.dump(obj, fp) -->转换为json并保存到文件中

  • json.load(fp) --> 从文件中读取json,并转化为python数据

使用

import json
my_dict = {'a':'1','b':'2','c':'3','d':'4'}
print(type(my_dict))
a = json.dumps(my_dict)
print(a)
print(type(a))
b=json.loads(a)
print(b)
print(type(b))
OUT:
<class 'dict'>
{"a": "1", "b": "2", "c": "3", "d": "4"}
<class 'str'> #json的字符串
{'a': '1', 'b': '2', 'c': '3', 'd': '4'}
<class 'dict'>
——————————
>>> import json
>>> print (json.dumps('中国'))
"\u4e2d\u56fd"
>>> print(json.dumps('中国', ensure_ascii=False))
"中国"
——————————
#json.dump() 和 json.load() 来编码和解码JSON数据,用于处理文件。

import json
my_dict = {'a':'1','b':'2','c':'3','d':'4'}
json.dump(my_dict,open('a.txt','w'))
print(json.load(open('a.txt','r')))
OUT:
会生成一个“a.txt"文件
{'a': '1', 'b': '2', 'c': '3', 'd': '4'}

猜你喜欢

转载自blog.csdn.net/weixin_44510615/article/details/88758032
今日推荐