json字符串和Json对象,以及json的基本了解

考虑到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.其使用友好:对于人易读,机器易于解析

此外推荐两篇博客:

https://blog.csdn.net/navigatoropera/article/details/66586050

https://www.cnblogs.com/xiaoxie2016/p/6293781.html

原文地址:https://www.cnblogs.com/ssyfj/p/8659815.html