json深层理解

Posted MISF

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json深层理解相关的知识,希望对你有一定的参考价值。

python和json对象的对应:

由下图可知:python对象要想转化为json对象,就必须先转化成json字符串

        python(对象)         -->                  json(对象)
        dict                json字符串            object
        list,tuple          json字符串            array
        str,unicode         json字符串          string
        int,long,float      json字符串            number
        True                json字符串            true
        False               json字符串            false
        None                json字符串            null

下面看一个简单的python例子:

import json
a={"name":"gaoyukun","age":"12"} //a是python对象
data=json.dumps(a)               //将a转化为json字符串
print(type(data)) print(data) data=json.loads(data) //将json字符串转化为json对象(因为是在python环境中所以对应dict数据类型,若是在js中则对应object) print(type(data)) print(data) #<class ‘str‘> #{"name": "gaoyukun", "age": "12"} #<class ‘dict‘> #{‘name‘: ‘gaoyukun‘, ‘age‘: ‘12‘}

再看一个前后端交互的例子

1.前端发送数据给后端

--------------index.html
<
button onclick="fun1()">alss</button> <script> function fun1(){ var a="fsd"; console.log(typeof a); //json对象中的string类型 a=JSON.stringify(a); //将json对象转化为字符串 console.log(typeof a); $.post("/xx/",{name:a},function(data){ console.log(data); }); </script>

--------------views.py
def xx(req):
if req.method=="POST":
print(req.POST.get("name"))
return HttpResponse("ggg")
 

2.后端数据发送给前端

---------------views.py
def xx(req):
    if req.method=="POST":
        a={"name":"gaoyuku"}
        data=json.dumps(a)
        name=req.POST.get("name")
        return HttpResponse(name)





-------------------index.html
<script>
    function fun1(){
        $.post("/xx/",{name:"gaoyuk"},function(data){
            #data=JSON.parse(data);             //将json字符串转化为json对象,因为后端传来的数据到了js中就是json对象,所以这句话不需要
            console.log(data);
            console.log(typeof data);
        });
</script>

 









以上是关于json深层理解的主要内容,如果未能解决你的问题,请参考以下文章

如何通过邮件中的android深层链接打开片段?

在Java中用 . 深层访问JSON数据

JSON.stringify 深层对象

来自 JetpackNavigation 库中通知的隐式深层链接

用于深层嵌套对象的自定义Json Serializer

使用凌空json数据的片段中的Recyclerview?