Js中的对象,python中的字典,JSON数据格式

之前一直搞不懂这三者的区别,总感觉都是键值对的关系,结合了一些资料,下面是我个人的整理。

其中Javascript中的对象可以包含很多,在其中除了有键值对还可以包含函数,并且其中的键无需加引号,比如:

obj = {
  name:'aaa',
  age:18,
  address:{
    city:'nanjing',
    function(){
      ...
    }
  }
}

而Json字符串,本质是字符串,也以键值对的形式存在,但是注意,Json字符串的键名必须要加入双引号,且里面的内容不能是函数方法,并且最后不允许加入逗号,比如:

json_str = '{
    "name":"liuliu",
    "age":18
     ...
    }'

在Js中我们可以通过两种方式将js对象转为json字符串,这称为序列化,可以将json字符串转为js对象,这称为反序列化。下图为序列化

    js_obj = {
        name:'aa',    //js对象
        age:18
    }


    js_json = JSON.stringify(js_obj)。//进行序列化,也是专为json字符串
    console.log(js_obj)// js对象
    console.log(js_json) //json字符串

输出为:

下图为反序列化操作:

    json_str = '{"name":"liuliu","age":18}' //json字符串


    json_obj = JSON.parse(json_str)  //反序列化操作,将json字符串转为js对象
    console.log(json_str) // json字符串
    console.log(json_obj) // js对象

python中的字典,也是以键值对的形式存在,python中的字典是python的一种数据类型,我们经常所做的操作是将python中的字典转化为json字符串,实现前后端分离的数据通信,其中序列化是指python中的字典中的数据变为json字符串,反序列化是指json字符串中的数据变为python的数据形式。

obj = {           # python字典
    'name':'aa',
    'age':18
}

import json
print(json.dumps(obj)) # 序列化,将字典变为json字符串,方便前后端的通信
print(obj)  # python字典

json_str = '{"name":"aa","age":18}' # json字符串

import json
print(json.loads(json_str))  # 反序列化,实现json字符串转为python字典
print(json_str)  # json字符串

个人总结:

在JavaScript中,想要实现js对象变为json字符串,利用JSON.stringify(js对象),想要实现json字符串变为js对象,利用JSON.parse(json字符串);

在python中,想要实现python字典变为json字符串,利用json.dumps(字典),想要实现json字符串变为字典,利用json.loads(json字符串),前提要先引入json。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值