Python處理json總結

2021-02-19 吾非同

首先,了解下什麼是JSON?

JSON:JavaScript Object Notation 【JavaScript 對象表示法】


JSON 是一種輕量級的數據交換格式,完全獨立於任何程序語言的文本格式。一般,後臺應用程式將響應數據封裝成JSON格式返回。

JSON的基本語法如下:
JSON名稱/值對。JSON 數據的書寫格式是:名稱/值對。名稱/值對包括欄位名稱(在雙引號中),然後著是一個冒號(:),最後是值。

JSON最常用的格式是對象的鍵值對:
key只能是string, value可以是 object、array、string、number、true/false、null

{
"sites": [
{ "name":"360" , "url":"www.360.com" }, 
{ "name":"google" , "url":"www.google.com" }, 
{ "name":"baidu" , "url":"www.baidu.com" }
]
}

json跟python中的字典看起來很像,兩者之間的區別?

1)json的key只能是字符串,dict的key可以是任何可hash的對象,例如:字符串、數字、元組等;

2)字典是一種數據結構,json是一種數據格式;字典有很多內置函數,有多種調用方法,而json是數據打包的一種格式,並不像字典具備操作性;

3)json的字符串強制用雙引號,dict的字符串可以用單引號、雙引號;

一般而言,我們會把json轉化為python中的字典或者列表,再對其進行操作。

Python處理json的模塊:json

Pythone3的標準庫JSON模塊,可以很方便的幫我們進行json數據的轉換和處理,這裡主要指序列化(json.dumps()、json.dump())和反序列化(json.loads()、json.load())。

序列化和反序列化:

將對象轉換為可通過網絡傳輸或可以存儲到本地磁碟的數據格式(如:XML、JSON或特定格式的字節串)的過程稱為序列化;反之,則稱為反序列化。

常用的JSON模塊方法:

json.dumps():將Python中的對象轉換為JSON中的字符串對象

json.dump():將python對象轉換成JSON字符串輸出到fp流中。

json.loads():將JSON中的字符串對象轉換為Python中的對象

json.load():讀取包含json對象的文件。

帶s的都是和字符串相關的,不帶s的都是和文件相關的。


實例:

把字典轉換成json串

import json
dic = {'name': 'xiaoming', 'age': 29}
json_str = json.dumps(dic)#返回json字符串
print(json_str)
print(type(json_str))
輸出:
{"name": "xiaoming", "age": 29}
<class 'str'>

Python解碼JSON對象

import json
json_str ='{"id":"09", "name": "Nitin", "department":"Finance"}'
# Convert string to Python dict
dict = json.loads(json_str)
print(dict)
#轉換成字典來後,要訪問其中的值,可以使用字典的key來訪問
print(dict['id'])
輸出:
{'id': '09', 'name': 'Nitin', 'department': 'Finance'}
09

讀取json文件

import json
with open('test1.json') as f:
    a = json.load(f)
print(a)
print(type(a))
輸出:
{'sites': [{'name': '360', 'url': 'www.360.com'}, {'name': 'google', 'url': 'www.google.com'}, {'name': 'baidu', 'url': 'www.baidu.com'}]}
<class 'dict'>

寫入json文件

    import json
    dic ={
        "name" : "xiaoming",
        "age" : 20,
        "phonenumber" : "15555555555"
    }

    with open("test2.json", "w") as outfile:
        json.dump(dic, outfile)

    文件test.json {"name": "xiaoming", "age": 20, "phonenumber": "15555555555"}


Python類型轉換JSON類型的對應關係

json類型轉換到Python的類型對照表

相關焦點

  • 乾貨|如何利用Python處理JSON格式的數據,建議收藏!
    本文轉載自【微信公眾號:數據分析與籃球,ID:dylanxia2019】經微信公眾號授權轉載,如需轉載與原文作者聯繫JSON數據格式在我們的日常工作中經常會接觸到,無論是做爬蟲開發還是一般的數據分析處理,本文小編就來分享一下當數據接口是JSON
  • python教程實戰,json、csv等讀寫
    python教程實戰,json、csv等讀寫JSON的全稱是」JavaScript Object Notation」,意思是JavaScript
  • 如何利用Python處理JSON格式的數據,建議收藏!!!
    作者:俊欣來源:數據分析與籃球JSON數據格式在我們的日常工作中經常會接觸到,無論是做爬蟲開發還是一般的數據分析處理
  • 【python】讀取json文件
    閱讀大概需要5分鐘跟隨小博主,每天進步一丟丟最近要打個比賽,在處理數據的時候,發現數據竟然是json文件的,
  • 如何利用Python處理JSON格式的數據接口(詳細版)
    本篇將對數據接口為JSON格式時,如何進行數據處理進行詳細的介紹,內容分如下兩個部分:JSON(JavaScript Object Notation, JS 對象簡譜)是一種輕量級的數據交換格式。它基於 ECMAScript的一個子集,採用完全獨立於程式語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得JSON成為理想的數據交換語言。
  • Python 讀取 JSON 數據的騷操作
    JSON 編碼的字符串轉換回一個 Python 數據結構:data = json.loads(json_str)如果你要處理的是文件而不是字符串,你可以使用 json.dump() 和 json.load()來編碼和解碼 JSON 數據。
  • python3處理JSON數據
    前言使用python做開發,經常會遇到json數據解析問題,本文,我將帶領大家學習使用python3處理json數據,並將字典反轉義為json數據。一、基礎知識1.什麼是JSONJSON是一種輕量級的數據交換格式,便於任何機器理解,採用完全獨立於程式語言的文本格式來存儲和表示數據。
  • Python 標準庫之 JSON
    基本操作JSON 模塊相比於 XML 來說真的是簡單多了:>>> import json>>> json.'c++'),'age':23}]>>> data[{'name': 'rocky', 'like': ('python', 'c++'), 'age': 23}]>>> data_json = json.dumps(data)>>> data_json'[{"name": "rocky", "like":
  • Python中json模塊的使用介紹
    # json:數據交換用到json文件,json是特殊的字符串,一種輕量級的數據交換格式# json 本質就是字符串,區別在於
  • python如何編碼解碼解析json對象
    前言json是一種以鍵值對形式存在的輕量級的數據結構,和python中的字典類型具有相同的表現結構。使用 JSON 函數需要導入 json 庫:import json。在Java中我們知道json有jsonObject和jsonArray,且可以通過String、map等相互轉換,那麼在python中,json對象是如何來讀取解析的呢?python解析json對象1.json.dumpsjson.dumps用於將 Python 對象編碼成 JSON 字符串。
  • python解析json方法
    最近在學ES,往裡面灌數據,ES默認格式是json,因此需要用到python去處理json格式。
  • Python 如何將字符串轉換成 json ?
    但是裡面出現了一些問題通過json來轉換:In [1]: import jsonIn [2]: mes = '{"InsId": 2, "name": "lege-happy", "CreationTime": "2019-07-18T03:18:02Z"}'In [3]: mes_to_dict = json.loads
  • 如何使用Python 和 Pandas讀寫JSON文件
    因此,我們可以像處理Python自己的數據結構一樣來處理JSON結構。Python JSON 示例:在下面的示例代碼中,我們首先導入json模塊。導入之後,我們打開一個新文件,並使用dump方法來使用Python寫入一個json文件。
  • python讀寫json文件
    輸出結果,最外圍是一個字典,而字典的值既可以是基本的數據類型,比如數值,字符串,又可以是列表,字典等數據結構,相互嵌套,就構成了整個json文件。對於json文件的讀寫,也稱之為json的編碼和解碼。所謂解碼,就是將文字格式的json轉換為程式語言中的對象,編碼則相反,將程式語言中的對象轉換為json格式的字符串。
  • 用 Python 操作 JSON 類型數據詳解
    data ={'name':"wangwu" , 'lang': ('python' ,'java'), 'age':20 }data_json = json.dumps( data )print( data)# 輸出結果為[{'name': 'wangwu', 'lang': ('python', 'java'), 'age': 20}]
  • 4個小竅門,讓你在Python中高效使用JSON!
    圖源:unsplash字典和列表是 Python的兩種數據類型,也是用來處理JSON的完美工具。本文將主要分享以下內容:· 如何載入、編寫JSON?可通過以下方式導入:import json解碼JSON字符串很簡單,直接輸入 json.loads(…) 即可。它可以轉換成:· 字典對象· 列表數組· 識別布爾值、整數、浮點數和字符串,在Python中進行正確轉換。
  • Python對CSV文件的處理
    /usr/bin/env python #-*-coding:utf-8-*-#author:wuyaimport  csvdef readCsv(): with open('csvTest.csv','r') as f: rander=csv.reader(f) #對數據循環獲取
  • Python零基礎編程——文件、JSON數據存儲
    ("-:"+line.rstrip())#並去掉空格2-文件寫入filePath = 'D:\DevPython\Works\PythonPrime\input.txt'yourContext1 = input("請輸入第1行,輸完按回車鍵")yourContext2 = input("請輸入第2行,輸完按回車鍵")#異常處理
  • 深入 Python 異常處理
    【導語】:本文結合例程總結Python異常處理的相關知識,幫你深入理解python異常處理。在Python 中的錯誤和異常是什麼?通常來說,程序中的錯誤至少包括兩種,一種是語法錯誤,另一種則是異常。,可以非常優雅地處理發生的異常。
  • Python之數據序列化(json、pickle、shelve)
    dumps()dump()loads()load()shelve專門用於將Python數據類型的數據持久化到磁碟,shelve是一個類似dict的對象,操作十分便捷open() 二、json模塊   大部分程式語言都會提供處理json數據的接口,Python 2.6開始加入了json模塊,且把它作為一個內置模塊提供