json,js对象,python字典三者如何区分

json、js 对象、python字典三者看起来都一样很难区分,尤其是在python web前后端分离以后,三者更是有密切联系,这里我写篇博客记录一下三者的区别

JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。

var obj = {a: 'ni', b: 'hao'}; //这是一个js对象,                                 
var json = '{"a": "ni", "b": "hao"}'; //这是一个 JSON 字符串,本质是一个字符串
//要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'ni', b: 'hao'}); //结果是 {"a": "ni", "b": "hao"}
console.log(typeof json)  //结果是  string

//要实现从 JSON字符串 转换为对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "ni", "b": "hao"}'); //结果是 {a: 'ni', b: 'hao'}
console.log(typeof json)  //结果是  object
python字典是python中的一种容器,它和js对象和json字符串没有半毛钱关系,但是在我们写接口时有时需要把字典类型的结果返回给前端,这个时候通过序列化我们可以把python字典转换成字符串,因为这个字符串符合json格式,所以我们认为:json.dump(dict)的作用是把python字典转化成json字符串
import json
dic = {'age': 23, 'job': 'student'}
#python中序列化的方法
dic_str = json.dumps(dic)
print(type(dic_str), dic_str)
# out:  {"age": 23, "job": "student"}
#反序列化
dic_obj = json.loads(dic_str)
print(type(dic_obj), dic_obj)
# out:  {'age': 23, 'job': 'student'}

你可能感兴趣的:(技术)