方法 | 作用 |
---|---|
json.dumps() | 将python对象编码成Json字符串 |
json.loads() | 将Json字符串解码成python对象 |
json.dump() | 将python中的对象转化成json储存到文件中 |
json.load() | 将文件中的json的格式转化成python对象提取出来 |
json.dump()和json.dumps()的区别
1.json.dumps()
import json
x = {'name':'你猜','age':19,'city':'四川'}
#用dumps将python编码成json字符串
print(json.dumps(x))
//输出结果
{"name": "\u4f60\u731c", "age": 19, "city": "\u56db\u5ddd"}
2.json.dump()
import json
x = {'name':'你猜','age':19,'city':'四川'}
#讲python编码成json放在那个文件里
filename = 'pi_x.txt'
with open (filename,'w') as f:
json.dump(x,f)
打开记事本如下所示:
json.load()和json.loads()的区别
1.json.loads()
import json
x = {'name':'你猜','age':19,'city':'四川'}
#用dumps将python编码成json字符串
x = json.dumps(x)
print(x)//{"name": "\u4f60\u731c", "age": 19, "city": "\u56db\u5ddd"}
#用loads将json编码成python
print(json.loads(x))//{'name': '你猜', 'age': 19, 'city': '四川'}
2.json.load()
import json
x = {'name':'你猜','age':19,'city':'四川'}
filename = 'pi_x.txt'
with open (filename,'w') as f:
json.dump(x,f)
with open (filename) as f_1:
print(json.load(f_1))//{'name': '你猜', 'age': 19, 'city': '四川'}
JSON对象有两个方法:
-
stringify()
-
parse()
在最简单的情况下,这两个方法分别用于把javascript对象序列化为JSON字符串和把JSON字符串解析为原声的javascript值。
JSON.stringify()示例:
var book = {
title: "javascript",
authors: ["oliver", "troy"],
edition: 2,
year: 2000,
other: undefined //被忽略
};
var jsontext = JSON.stringify(book);
console.log(jsontext); //{"title":"javascript","authors":["oliver","troy"],"edition":2,"year":2000}
JSON.parse()示例:
var anotherBook = JSON.parse(jsontext);
console.log(Object.keys(anotherBook).toString()); //title,authors,edition,year
JSON.stringify()
除了要序列化的Javascript对象外,还可以接收另外两个参数,这两个参数用于指定以不同方式序列化javascript对象。
当JSON.stringify()
的第二个参数是一个数组。在返回结果中,只会包含这些属性。
示例:
var book = {
title: "javascript",
authors: ["oliver", "troy"],
edition: 2,
year: 2000,
other: undefined //被忽略
};
var jsontext = JSON.stringify(book,["title","authors"]);
console.log(jsontext); //{"title":"javascript","authors":["oliver","troy"]}
如果JSON.stringify()
第二个参数是函数,传入的函数接收两个参数,属性名和属性值。
示例:
var book = {
title: "javascript",
authors: ["oliver", "troy"],
edition: 2,
year: 2000,
other: undefined //被忽略
};
var jsontext = JSON.stringify(book,function (key,value) {
switch (key) {
case "authors":
return value.join("-");
break;
case "edition":
return undefined;
break;
default:
return value;
}
});
console.log(jsontext); //{"title":"javascript","authors":"oliver-troy","year":2000}