zoukankan      html  css  js  c++  java
  • json

    详见
    用于前后端交互,传数据

    (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码 (可以这么理解,json.dumps()函数是将字典转化为字符串) (2)json.loads()函数是将json格式数据转换为字典 (可以这么理解,json.loads()函数是将字符串转化为字典)


    只要符合json格式的都能进行反序列化

     

    import json
    
    #(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码
    # (可以这么理解,json.dumps()函数是将字典转化为字符串)
    
    #(2)json.loads()函数是将json格式数据转换为字典
    # (可以这么理解,json.loads()函数是将字符串转化为字典)
    
    info={"name":'alex'}
    
    ret=json.dumps(info)   # 把python字典数据类型序列化成json字符串 '{"name": "alex"}'
    print(ret,type(ret))             #{"name": "alex"}  <class 'str'>
    
    
    #把json字符串序列化到磁盘里(写到本地)
    
    with open("json.txt","w") as f:
        f.write(json.dumps(info))       #此时json.text文件里就有一条数据     {"name": "alex"}
    
    #
    with open("json.txt",'r') as f:
        data=f.read()
    
    data=json.loads(data) #把json字符串反序列为python中的字典数据类型
    print(data,type(data))           #{'name': 'alex'}  <class 'dict'>
    
    ret=json.loads('{"name":"alex"}')
    print(ret,type(ret))            #{'name': 'alex'}  <class 'dict'>
    
    ret=json.loads("true")
    print(ret,type(ret))            #TRUE   <class 'bool'>
    
    ret=json.loads("[12,34]")
    print(ret,type(ret))            # [12, 34] <class 'list'>
    
    ret=json.loads("12")
    print(ret,type(ret))            #12  <class 'int'>
    
    # ret=json.loads("{'name':'alex'}")
    # print(ret)     #会报错,字典里面的键值对必须是双引号

    在js中

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
    
            //js中序列号与反序列化用JSON.stringify() 与 JSON.parse()
            //json.dumps====JSON.stringify()  json.loads======JSON.parse()
    
            var s='{"name": "alex"}';
    
            var data=JSON.parse(s);       //   此时data反序列化为object对象,也就可以使用date.name
    
            console.log(data);            //   {name:"alex"}
            console.log(typeof data);     //   object
    
            var c={name:"alex"};          //  js中的key可以不加引号,也可以加单引号、双引号
    
            var c=JSON.stringify(c);      // {"name":"alex"}
            console.log(c)
        </script>
    </head>
    <body>
    
    </body>
    </html>
  • 相关阅读:
    linux grep --我最喜欢的命令~~
    svmrank 的误差惩罚因子c选择 经验
    转:机器学习中的算法(2)-支持向量机(SVM)基础
    转:关于python文件操作大全
    python 求两个时间差
    多个excel合并(excel2007)
    oracle12c 新建表空间
    数据库表被锁了
    join ,left join ,right join有什么区别
    最简洁的权限(菜单)控制
  • 原文地址:https://www.cnblogs.com/zh-xiaoyuan/p/12836404.html
Copyright © 2011-2022 走看看