通过与 Jira 对比,让您更全面了解 PingCode

  • 首页
  • 需求与产品管理
  • 项目管理
  • 测试与缺陷管理
  • 知识管理
  • 效能度量
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案

25人以下免费

目录

python的dict和json数据有什么区别

1.Python的dict是一种数据结构,JSON是一种数据格式。2.dict的key可以是任意可hash对象,json只能是字符串。{(1,2):1} 在python里是合法的,因为tuple是hashable type; {[1,2]:1} 在python里TypeError: unhashable “list”;3.形式上有些相像,但json是纯文本的,无法直接操作。

一、python的dict和json数据

区别

  1. Python的dict是一种数据结构,JSON是一种数据格式。
  2. dict的key可以是任意可hash对象,json只能是字符串。{(1,2):1} 在python里是合法的,因为tuple是hashable type; {[1,2]:1} 在python里TypeError: unhashable “list”
  3. 形式上有些相像,但json是纯文本的,无法直接操作。
  4. dict字符串用单引号,json强制规定双引号。
  5. dict里可以嵌套tuple, json里只有array。 json.dumps({1:2}) 的结果是 {“1”:2}, json.dumps((1,2)) 的结果是[1,2]
  6. json: true|false|null ; dict:True|False|None

联系

dict 存在于内存中,可以被序列化成 json 格式的数据(string),之后这些数据就可以传输或者存储了。

总结

JSON 是一种数据传输格式。

也就是说,这些字符串以 JSON 这样的格式来传输,至于你怎么 parse 这些信息,甚至是是否 parse, 是否储存,都不是 JSON 的事情。

用 Python 举个例子: 某段程序可以把字符串 “{A:1, B:2}”parse 成 一对 tuple: ( (“A”, 1), (“B”, 2) )而不是 dictionary: {“A”: 1, “B”: 2}.

所以 JSON 它能被解析成 Python 的 Dictionary 或者其他形式,但解析成什么内容是和 JSON 这种格式无关的。

Python 的 Dictionary 则是 Python 对 Hash Table 的实现,一套从存储到提取都封装好了的方案。

延伸阅读:

二、什么是JSON

JSON或JavaScript Object Notation,是一种使用文本存储数据对象的格式。换句话说,它是一种数据结构,将对象用文本形式表示出来。尽管它来源自JavaScript,但它已成为传输对象的实际标准。

大多数流行的编程语言都支持JSON格式,包括Python。JSON格式的文件经常用于API传输数据对象。以下是JSON字符串的示例:

{

   “name”: “United States”,

   “population”: 331002651,

   “capital”: “Washington D.C.”,

   “languages”: [

  “English”,

  “Spanish”

   ]

}

在这个例子中,JSON数据看起来像一个Python字典。像字典一样,JSON以键值对的形式传递数据。然而,JSON数据也可以是字符串、数字、布尔值或列表。

相关文章