json中常用的转码方式

方法作用
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}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值