python操作json数据,python json数据处理

  python操作json数据,python json数据处理

  JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。下面这篇文章主要介绍用Python解析JSON数据的基本方法,通过示例代码非常详细的介绍。有需要的朋友可以参考一下。

  00-1010一、JSON数据格式介绍二。Python处理json数据时json.dumpsjson.loads的语法摘要

  

目录

  JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。

  Json有两种结构:JSON是Javascript中的对象,也是数组中的对象。本质上,JSON是一个具有特定结构的字符串,所以可以通过这两个结构来表示各种复杂的结构:

  1:Object:Object在js中表示为“{}”封闭内容,数据结构为{key3360Value,key3360Value …}的键值对结构。在面向对象语言中,key是对象的属性,value是对应属性的值,所以很容易理解。属性值可以是数字、字符串、数组、对象等。

  2:数组是js中括号“[]”括起来的内容,数据结构是[“Java”、“JavaScript”、“VB”……]。与所有语言一样,通过索引获取值,字段值的类型有数字、字符串、数组、对象等。

  简单来说,JSON可以将JavaScript对象中表示的一组数据转换为一个字符串,然后它可以轻松地在函数之间传递这个字符串,或者在异步应用程序中将字符串从Web客户端传递到服务器端程序。这个字符串看起来有点奇怪,但是JavaScript可以很容易地解释它,JSON可以表示比“名称/值对”更复杂的结构。例如,您可以表示数组和复杂的对象,而不仅仅是简单的键和值列表。

  在最简单的形式中,“名称/值对”可以由以下JSON表示:{“名字”:“Brett”}

  JSON不仅可以提高可读性,还可以在需要表示一组值时降低复杂性。

  比如:

  {未定义

  人民:[

  { 名字 : 111 ,},

  { 名字 : 222 ,},

  { 名字 : 333 ,}

  ]}

  

一、JSON数据格式介绍

  Python的json模块提供了一种编码和解码JSON数据的简单方法。两个主要函数是json.dumps()和json.loads()

  导入json

  Data={ 姓名 3360 孙孝敏,性别 3360 男性,年龄 3360 26}

  #将python字典类型转换为json数据格式

  json_str=json.dumps(data)

  打印(json_str)

  print(type(json_str))

  #将JSON数据解码成dict(字典)

  data1=json.loads(json_str)

  打印(数据1)

  打印(类型(数据1))

  输出结果:

  { 姓名 : 孙孝敏,性别 : , \u5e74\u9f84: 26}

  类别“str”

  { 姓名 : 孙孝敏,性别 3360 男性,年龄 3360 26}

  类别“字典”

  ckquote>

  函数详解

  使用 JSON 函数需要导入 json 库:import json。

  函数描述json.dumps将 Python 对象编码成 JSON 字符串json.loads将已编码的 JSON 字符串解码为 Python 对象

  

  

json.dumps

  json.dumps 用于将 Python 对象编码成 JSON 字符串。

  语法

  

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

  

  1) skipkeys:布尔型,默认为False,如果设为True的话,在dict中的key值如果出现非 (str, unicode, int, long, float, bool, None)对象,则跳过该key而不是抛出 ValueError。

  2) indent:非负整数,表示编码后的字符串的缩进方式,默认为None表示无缩进,一般设为4,如果设为0则只会添加换行符。

   indent参数根据数据格式缩进显示,读起来更加清晰, indent的值,代表缩进空格式:

  3) separators:元组,默认为None,如果设置的话,一般设为(’,’,’:’),表示把’,’和‘:’后面的空格去掉,用来精简输出字符串。

   separators参数的作用是去掉‘,’ ‘:’后面的空格,在传输数据的过程中,越精简越好,冗余的东西全部去掉。

  4) sort_keys: 布尔型,默认为False,如果设为True,则输出的dict会按照key值排序。

   sort_keys是告诉编码器按照字典key排序(a到z)输出

  5) 输出真正的中文需要指定ensure_ascii=False

  如果无任何配置,或者说使用默认配置,

  输出的会是‘凉凉’的ASCII字符吗,而不是真正的中文。

  这是因为json.dumps 序列化时对中文默认使用的ascii编码。

  

  

json.loads 语法

  

json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

  

  Python 编码为 JSON 类型转换对应表:

  PythonJSONdictobjectlist, tuplearraystrstringint, float, int- & float-derived EnumsnumberTruetrueFalsefalseNonenull

  JSON 解码为 Python 类型转换对应表:

  JSONPythonobjectdictarrayliststringstrnumber (int)intnumber (real)floattrueTruefalseFalsenullNone

  

  

总结

  到此这篇关于Python解析JSON数据的基本方法的文章就介绍到这了,更多相关Python解析JSON数据内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!

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

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