Python中通常如何处理Json格式数据-,python json数据处理

  Python中通常如何处理Json格式数据?,python json数据处理

  文章目录1.数据介绍2.方法2.1 JSON。转储2.2 JSON。转储2.3 JSON。负载3 .json.dumps常用参数3.1排序_关键字3.2缩进3.3分隔符3.4确保_ascii 4 .错误错误

  1.数据介绍JSON(JavaScript对象符号)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

  数据格式可以简单地理解为键值对的集合(名称/值对得集合).不同的语言中,它被理解为对象(对象),纪录(记录),结构(结构),字典(字典),哈希表(哈希表),有键列表(键控列表),或者关联数组(关联数组).

  值的有序列表(有序的值列表).在大部分语言中,它被理解为数组(数组).

  2.方法

  2.1 json.dumpsdump的功能就是把计算机编程语言对象编码为数据对象,一个编码过程。注意数据模块提供了json.dumps和json.dump方法,区别是倾销直接到文件,而抑郁到一个字符串,这里的s可以理解为字符串。

  2.2 json.dump不仅可以把计算机编程语言对象编码为字符串,还可以写入文件。因为我们不能把计算机编程语言对象直接写入文件,这样会报错类型错误:应为字符串或其他字符缓冲区对象,我们需要将其序列化之后才可以。

  2.3 json.loads从计算机编程语言内置对象倾销为数据对象我们知道如何操作了,那如何从数据对象译解码为计算机编程语言可以识别的对象呢?是的用json.loads方法,当然这个是基于线的,如果是文件,我们可以用json.load方法。

  实例1:

  #!/usr/bin/python

  导入数据

  data=[ { a:A , b:(2,4), c:3.0} ]

  打印"数据:",报告(数据)

  data_string=json.dumps(data)

  打印JSON:,数据字符串

  打印类型(数据)

  打印类型(数据字符串)

  用打开( output.json , w )作为fp:

  json.dump(data,fp)

  打印类型(fp)

  解码_ JSON=JSON。加载(数据字符串)

  打印类型(解码_json)

  print decoded_json[0][a]

  loaded_json=json.load(fp)

  打印类型(loaded_json)

  打印loaded_json()json和计算机编程语言对象转换过程中,数据类型不完全一致,有对应。

  计算机编程语言

  数据

  词典

  目标

  列表,元组

  排列

  字符串,unicode

  线

  int,long,float

  数字

  真实的

  真实的

  错误的

  错误的

  没有人

  空

  json.dumps常用参数一些参数,可以让我们更好地控制输出。常见的比如排序键、缩进、分隔符、跳过键等。

  3.1排序关键字输出时字典的是按键值排序的,而不是随机的。

  导入数据

  data=[ { a:A , b:(2,4), c:3.0 } ]

  打印"数据:",报告(数据)

  unsorted=json.dumps(data)

  打印JSON:“,json.dumps(数据)

  print SORT:,json.dumps(data,sort_keys=True)输出:

  $ python js2.py

  数据:[{a: A , c: 3.0, b: (2,4)}]

  JSON: [{a: A , c: 3.0, b: [2,4]}]

  排序:[{a: A , b: [2,4], c: 3.0}]

  3.2缩进就是更个缩进,让我们更好地看清结构。

  导入数据

  data=[ { a:A , b:(2,4), c:3.0 } ]

  打印"数据:",报告(数据)

  print NORMAL:,json.dumps(data,sort_keys=True)

  print INDENT:,json.dumps(data,sort_keys=True,indent=2)输出:

  $ python js3.py

  数据:[{a: A , c: 3.0, b: (2,4)}]

  正常:[{a: A , b: [2,4], c: 3.0}]

  缩进:[

  {

   a: A ,

  b: [

  2,

  四

  ],

   c: 3.0

  }

  ]

  3.3分离器提供分隔符,可以出去白空格,输出更紧凑,数据更小。默认的分隔符是(, , : ),有白空格的。不同的抑郁参数,对应文件大小一目了然。

  data=[ { a:A , b:(2,4), c:3.0 } ]

  打印"数据:",报告(数据)

  打印报告(数据) :,长度(报告(数据))

  print dumps(data):,len(json.dumps(data))

  print dumps(data,indent=2):,len(json.dumps(data,indent=2))

  print dumps(data,separators):,len(json.dumps(data,separators=(,,:))输出:

  数据:[{a: A , c: 3.0, b: (2,4)}]

  repr(数据):35

  转储(数据):35

  转储(数据,缩进=2) : 76

  转储(数据,分隔符):29

  3.4确保_ascii支持中文

  打印json.dumps(服务,确保_ascii=False)

  4.错误错误数据需要字典的的键是字符串,否则会抛出值错误。

  data=[ { a:A , b:(2,4), c:3.0,( D ,): D tuple } ]

  打印"第一次尝试"

  尝试:

  打印json.dumps(数据)

  except (TypeError,ValueError)为错误:

  打印"错误:",错误

  打印

  打印"第二次尝试"

  打印json.dumps(data,skipkeys=True)输出:

  第一次尝试

  错误:密钥必须是字符串

  第二次尝试

  [{a: A , c: 3.0, b: [2,4]}]

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: