python的dict和json的区别

在工作中经常用到数据传输,而数据传输用的是json字符串,那么这个形如字典dict的json,和json又有什么区别呢?

区别

  • Python 的字典是一种数据结构,JSON 是一种数据传输格式。
    json 就是一个根据某种约定格式编写的纯字符串,不具备任何数据结构的特征。而 python 的字典的字符串表现形式的规则看上去和 json 类似,但是字典本身是一个完整的数据结构,实现了一切自身该有的算法。
  • Python的字典key可以是任意可hash对象,json只能是字符串。
    形式上有些相像,但JSON是纯文本的,无法直接操作。
    1.python dict 字符串用单引号,json强制规定双引号
    2.python dict 里可以嵌套tuple,json里只有array。 json.dumps({1:2}) 的结果是 {“1”:2}; json.dumps((1,2)) 的结果是[1,2]
    3.json key name 必须是字符串, python 是hashable, {(1,2):1} 在python里是合法的,因为tuple是hashable ,但列表则不行,type;{[1,2]:1} 在python里TypeError: unhashable “list”
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

精神抖擞王大鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值