考虑到python等语言中没有更好表示json对象的方法,所以使用JavaScript来介绍json
首先是json字符串:
var str1 = '{ "name": "fafa", "sex": "man" }'; #格式为在{}两边加上单引号
输出类型为:
typeof(str1) "string"
然后是json对象:
var str2 = { "name": "haorooms", "sex": "man" }; #var str2 = { "name": "haorooms", "sex": "man" };
类型为:
typeof(str2) "object"
同样在python服务端传递的数据:
def get_ajax(req): data = { "username": "lsda", "age": 12} data = json.dumps(data) return HttpResponse(data) #传递过去的是json字符串,就是--->'{"username": "lsda", "age": 12}'
前端数据:
$.ajax({ url:'/test_ajax', data:{a:1,b:2,csrfmiddlewaretoken:'{ { csrf_token }}'}.toString(), type:"post", success:function(data){ console.log(data) console.log(typeof(data)) #前端获取的也是json字符串,默认数据是text,可以使用dataType:"json"进行转换为json对象 } })
json字符串转json对象过程:
data = JSON.parse(data) #或者 str.parseJSON()
console.log(data) #object
JOSN介绍:基于文本、轻量级、数据交换格式是其3个特点
1.基于文本:在所写的json数据中基本都是字符串格式,将数据用引号括起,然后以键值对形式填写
传递时,也是使用字符串格式进行传递的(上面有例子),所以json是基于文本
2.轻量级:相对于其他数据传输方式,如xml,相比json,xml多了一些标签,会占据更多的空间使用,所以在相同内容时,json更加轻量。尤其是在现在的ajax中json几乎取代了xml的应用(但是xml的应用也是非常广的)
3.其使用友好:对于人易读,机器易于解析
此外推荐两篇博客: