暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

JSON

生有可恋 2022-03-29
265

JSON是JavaScript Object Notation的缩写,是JavaScript中常用的一种数据格式,但这并不代表JSON无法用于其它语言。

JSON具有很好的用户可读性和机器可读性,所以使得JSON独立于JavaScript,成为一种通用数据格式。JSON与XML一样成为一种广泛使用的数据格式。

JSON数据类型

  • 数值:十进制数,不能有前导0,可以为负数

  • 字符串:双引号""括起来

  • 布尔值:true或者false。

  • 数组:有序的零个或者多个值 [value, value]

  • 对象:若干无序的“键-值对”,其中键只能是字符串。键-值对之间使用逗号分隔。键与值之间用冒号:分割。

  • 空值:null

相对于XML,JSON数据格式没法像XML那样基于XPath对元素进行定位。JSON的优点是结构简单,可以转化为各编程语言的常规数据结构。Python 内置了 json 模块。我们将 json 数据转化为 python 对象,看如何查看数据。

测试 JSON 数据(引用自维基:https://zh.wikipedia.org/wiki/JSON)

    {
    "firstName": "John",
    "lastName": "Smith",
    "sex": "male",
    "age": 25,
    "address":
    {
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021"
    },
    "phoneNumber":
    [
    {
    "type": "home",
    "number": "212 555-1234"
    },
    {
    "type": "fax",
    "number": "646 555-4567"
    }
    ]
    }

    将JSON数据导入至Python

    json.loads 将JSON格式的数据转化为Python字典,调用时按字典的调用方法查看数据

      >>> t['firstName']
      'John'
      >>> t['phoneNumber']
      [{'type': 'home', 'number': '212 555-1234'}, {'type': 'fax', 'number': '646 555-4567'}]
      >>> t['phoneNumber'][0]
      {'type': 'home', 'number': '212 555-1234'}
      >>> t['phoneNumber'][0]['type']
      'home'

      JSON 类型 与 Python 类型对照表

      文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论