python中的json文件
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,易与人于都和编写,同时也易于和生成。
一、 什么是json文件
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,易与人于都和编写,同时也易于机器解析和生成。
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
二、json文件的基础格式
JSON 的基础结构有两种:
键值对 (name/value pairs) 和数组 (array)。
JSON 具有以下形式:
object - 对象,用花括号表示,形式为(数据是无序的):
{ pair_1, pair_2, …, pair_n }
pair - 键值对,形式为:
string : value
array - 数组,用中括号表示,形式为(数据是有序的):
[value_1, value_2, …, value_n ]
value值,可以是:
string 字符串
number 数字
object 对象
array 数组
true / false / null 特殊值
string 字符串
例子:
{
"name": "echo",
"age": 24,
"coding skills": ["python", "matlab", "java", "c", "c++", "ruby", "scala"],
"ages for school": {
"primary school": 6,
"middle school": 9,
"high school": 15,
"university": 18
},
"hobby": ["sports", "reading"],
"married": false
}
JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:
JSON类型 | Python类型 |
---|---|
{} | dict |
[] | list |
“string” | str |
1234.56 | int或float |
true/false | True/False |
null | None |
三、json模块的功能
json模块也提供了四个功能:json.dumps json.loads json.dump json.load 。loads跟dumps是用来处理字符串的,load跟dump是用来处理文件的。
dumps:把其他对象或格式转换为json格式
loads:把json转换成其他格式,
dump:把json数据写入到文件中
load:将文件的内容转换成为json数据
import json
a = {'name':'xiaoming','age':'18','sex':'nan'}
print(type(a))#<class 'dict'>
b = json.dumps(a)
print(type(b))#<class 'str'>
c = json.loads(b)
print(c)#{'name': 'xiaoming', 'age': '18', 'sex': 'nan'}
import json
import os
a = {
"name": "echo",
"age": 24,
"coding skills": ["python", "matlab", "java", "c", "c++", "ruby", "scala"],
"ages for school": {
"primary school": 6,
"middle school": 9,
"high school": 15,
"university": 18
},
"hobby": ["sports", "reading"],
"married": 'false'
}
with open('11','w+') as b:#打开名字为11的文件
json.dump(a,b)#将a的数据以json形式写入文件
with open('11') as b:
c = json.load(b)
print(type(c))#<class 'dict'>
更多推荐
所有评论(0)