python读json文件和写json文件,python 读json

  python读json文件和写json文件,python 读json

  JSON数据类型最常见的应用场景是API或将数据保存到。json稳定数据。使用Python处理这些数据将非常简单。本文将详细讲解Python如何读写JSON文件,供参考。

  

目录
JSONJSON origin JSON示例Python原生支持JSON序列化JSON简单序列化示例JSON反序列化简单反序列化示例应用案例编码和解码

  

JSON

  

JSON 起源

  JSON JavaScript对象符号。是处理对象文字语法的JavaScript编程语言的子集。JSON长期以来一直是一种独立于语言的语言,并作为自己的标准存在。

  

JSON 样例

  {

  数据 :[

  {

  id: 1 :

  姓名 : 同学甲,

  州 : 1 :

  创建时间 : 2020-01-21

  },

  {

  id: 2 :

  姓名 : B同学B :

  州 : 1 :

  创建时间 : 2020-01-21

  },

  {

  id: 3 :

  姓名 : 丙同学丙:

  州 : 0 ,

  创建时间 : 2020-01-21

  }

  ]

  }

  

Python 原生支持 JSON

  Python自带了一个内置的包json,用来对JSON数据进行编码和解码。

  引用方法。

  导入json

  对JSON进行编码的过程通常被称为序列化。该术语指的是将数据转换成一系列字节,然后通过网络存储或传输。反序列化是解码以JSON标准存储或传递的数据的交互式过程。

  

序列化 JSON

  直观转换将简单的Python对象转换成JSON。

  PythonJSONdictobjectlist,tuplearraystrstringint,long,floatnumbertruetruefalsafalsonenull

  

简单的序列化示例

  创建一个简单数据。

  数据={

  数据 :[

  {

  id: 1 :

  姓名 : 同学甲,

  州 : 1 :

  创建时间 : 2020-01-21

  },

  {

  id: 2 :

  姓名 : B同学B :

  州 : 1 :

  创建时间 : 2020-01-21

  },

  {

  id: 3 :

  姓名 : 丙同学丙:

  州 : 0 ,

  创建时间 : 2020-01-21

  }

  ]

  }

  数据直接保存为文本。

  用open(data_file.json , w )作为f:

  json.du

  mp(data, f)

  

  数据直接以字符串方式使用。

  

json_str = json.dumps(data)

  

  

  

JSON 反序列化

  在 json 库中使用 load() 和 oads() 用于将 JSON 编码数据转换为 Python 对象。

  JSONPythonobjectdictarrayliststringstrnumber(整数)intnumber(浮点数)floattrueTruefalseFalsenullNone

  

  

简单的反序列化示例

  读取写入json文件的数据。

  

with open("data_file.json", "r") as read_file:

   data = json.load(read_file)

  

  字符串数据。

  

json_string = """

  {

   "data":[

   {

   "id": "1",

   "name": "A同学",

   "state": "1",

   "createTime": "2020-01-21"

   },

   {

   "id": "2",

   "name": "B同学",

   "state": "1",

   "createTime": "2020-01-21"

   },

   {

   "id": "3",

   "name": "C同学",

   "state": "0",

   "createTime": "2020-01-21"

   }

   ]

  }

  """

  data = json.loads(json_string)

  

  

  

应用案例

  通过互联网的数据抓取解析文本信息。

  

# 秦皇岛煤炭网微博

  import requests

  from bs4 import BeautifulSoup

  import datetime

  url = "http://news.cqcoal.com/manage/newsaction.do?method:webListPageNewsArchivesByTypeid"

  post_param = {pageNum:1,pageSize:20,jsonStr:{"typeid":"238"}}

  return_data = requests.post(url,data =post_param)

  return_data = return_data.content.decode("utf-8")

  import json

  for i in json.loads(return_data)["rows"]:

   title = i["title"]

   url = "http://news.cqcoal.com/blank/nc.jsp?mid="+str(i["id"])

   timeStamp=int(i["pubdate"])

   dateArray = datetime.datetime.utcfromtimestamp(timeStamp)

   date = dateArray.strftime("%Y-%m-%d")

   print(title,url,date)

  

  

  

  

编码和解码

  自定义数据。

  

import json

  # 基础的数字字典

  py_object = {"c": 0, "b": 0, "a": 0}

  # JSON 编码

  json_string = json.dumps(py_object)

  print(json_string)

  print(type(json_string))

  {"c": 0, "b": 0, "a": 0}

  <class str>

  # JSON 解码

  py_obj = json.loads(json_string)

  print(py_obj)

  print(type(py_obj))

  {c: 0, b: 0, a: 0}

  <class dict>

  

  如果遇到TypeError: Object of type SampleClass is not JSON serializable的错误就需要自定义编码和解码了。

  

import json

  class Student:

   def __init__(self, name, roll_no, address):

   self.name = name

   self.roll_no = roll_no

   self.address = address

   def to_json(self):

   将此类的实例转换为 json

   return json.dumps(self, indent = 4, default=lambda o: o.__dict__)

  class Address:

   def __init__(self, city, street, pin):

   self.city = city

   self.street = street

   self.pin = pin

  address = Address("Bulandshahr", "Adarsh Nagar", "203001")

  student = Student("Raju", 53, address)

  # 编码

  student_json = student.to_json()

  print(student_json)

  print(type(student_json))

  {

   "name": "Raju",

   "roll_no": 53,

   "address": {

   "city": "Bulandshahr",

   "street": "Adarsh Nagar",

   "pin": "203001"

   }

  }

  <class str>

  # 解码

  student = json.loads(student_json)

  print(student)

  print(type(student))

  {name: Raju, roll_no: 53, address: {city: Bulandshahr, street: Adarsh Nagar, pin: 203001}}

  <class dict>

  

  以上就是Python读写JSON文件的操作详解的详细内容,更多关于Python读写JSON的资料请关注盛行IT软件开发工作室其它相关文章!

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

相关文章阅读

  • js把字符串转为json,json字符串转换成json对象
  • js把字符串转为json,json字符串转换成json对象,js 将json字符串转换为json对象的方法解析
  • json语法格式,json格式定义
  • json语法格式,json格式定义,Json格式详解
  • json格式数据类型,什么是JSON数据-其常见格式是什么-
  • json格式数据类型,什么是JSON数据-其常见格式是什么-,JSON 数据格式详解
  • json格式怎么写,json文件内容格式
  • json格式怎么写,json文件内容格式,json文件书写格式详解
  • json数组对象转化为json字符串,js把数组转化为json
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法,JSON对象转化为字符串详解
  • json基础介绍与详细用法教程,json基础知识
  • json基础介绍与详细用法教程,json基础知识,JSON基础介绍与详细用法
  • json去掉反斜杠,json字符串中有反斜杠
  • json去掉反斜杠,json字符串中有反斜杠,详解json串反转义(消除反斜杠)
  • 留言与评论(共有 条评论)
       
    验证码: