手機讀取json格式文件軟件「json格式怎麼打開」

此賬號為華為雲開發者社區官方運營賬號,提供全面深入的雲計算前景分析、豐富的技術乾貨、程序樣例,分享華為雲前沿資訊動態

本文分享自華為雲社區《從零開始學python| 什麼是Python JSON以及如何實現?》,原文作者:Yuchuan。

您知道如何從在線 API 傳輸數據或將各種數據存儲到本地計算機嗎?您已經將自己沉浸於 JSON 的一種方式中,JSON 表示 Java Script ObjectNotation。它是一種著名的流行數據格式,用於表示半結構化數據。讓我們詳細了解 Python JSON。

本文將討論以下方面:

  • Python JSON 簡介
  • 如何在 Python 中讀取 JSON 文件
  • 解析中
  • 從 Python 轉換為 JSON
  • 從 JSON 轉換為 Python
  • 熊貓解析 JSON
  • JSON 序列化[編碼]
  • 漂亮的印刷
  • JSON 的反序列化[解碼]
  • 編碼示範

Python JSON 簡介:

JSON 代表 JAVA 小號 scriptobjectn 浮選是存儲在一個有組織的和容易的方式信息的方式。在瀏覽器和服務器之間交換數據時,數據必須為文本形式。

教你一個著名的流行數據格式:Python JSON

如果您想知道它是否是 JavaScript?那麼答案是否定的。它是一個由文本組成的腳本,用於以人類和機器可讀格式存儲和傳輸數據。它是一種受 JavaScript 啟發的小型輕量數據格式,通常以文本或字符串格式使用。JSON 數據包幾乎等同於 python 字典。現在,您一定想知道。

如何在 Python 中讀取 JSON 文件?

問題的答案是,您必須導入 JSON 模塊,該模塊通常將 Python 數據類型轉換為 JSON 字符串文件。它由直接從 JSON 文件讀取和寫入的 JSON 函數組成。Python 具有內置的 JSON 包,並且是標準庫的一部分,因此您無需安裝它。

例子:

import json

現在您已經了解了 Python 中的 JSON,下面讓我們更深入地分析 Parsing。

解析:

JSON 庫可以從字符串或文件中解析 JSON 。它還可以將 JSON 解析到 Python 字典或列表中,反之亦然。解析通常分為兩個階段:

1. 從 JSON 轉換為 Python

2. 從 Python 轉換為 JSON

讓我們更好地了解這兩個階段。

從 JSON 轉換為 Python:

您可以使用以下方法將 JSON 字符串轉換為 Python json.loads(). :

例子:

import json
people_string = '''
{
"people":[
{
"emp_name": "John smith",
"emp_no.": "924367-567-23",
"emp_email": ["johnsmith@dummyemail.com"],
"has_license": "false"
},
{
"emp_name": "harshit kant",
"emp_number": "560-555-5153",
"emp_email": "null",
"has_license": "true"
}
]
}
'''
data = json.loads(people_string)
print(data)

輸出:

教你一個著名的流行數據格式:Python JSON

從上面的輸出中可以看到,它已經打印了 Python 字典。讓我們打印數據類型以更好地理解。

例子:

import json
people_string = '''
{
"people":[
{
"emp_name": "John smith",
"emp_no.": "924367-567-23",
"emp_email": ["johnsmith@dummyemail.com"],
"has_license": "false"
},
{
"emp_name": "harshit kant",
"emp_number": "560-555-5153",
"emp_email": "null",
"has_license": "true"
}
]
}
'''
data = json.loads(people_string)
print(type(data))  #prints the datatype

輸出:

<class’dict’>

現在,您已經熟悉一個轉換,讓我們在第二階段看看另一種轉換類型。

從 Python 轉換為 JSON:

通過使用 json.dumps(). 下面給出的示例,可以將 Python 對象轉換為 JSON 字符串:

例子:

import json
people_string = '''
{
"people":[
{
"emp_name": "John smith",
"emp_no.": "924367-567-23",
"emp_email": ["johnsmith@dummyemail.com"],
"has_license": "false"
},
{
"emp_name": "harshit kant",
"emp_no.": "560-555-5153",
"emp_email": "null",
"has_license": "true"
}
]
}
'''
data = json.loads(people_string)
new_string = json.dumps(data)
print(new_string)

輸出:

教你一個著名的流行數據格式:Python JSON

輸出將是 JSON 字符串類型。我已經在 JSON 到 Python 的轉換中演示了數據類型,將遵循相同的過程來打印數據類型。

讓我們繼續前進,看看 Pandas 如何解析 JSON。

熊貓解析 JSON:

可以通過以下步驟將 JSON 字符串解析為 pandas Dataframe:

  • 以下通用結構可用於將 JSON 字符串加載到 DataFrame 中
import pandas as pd
 
pd.read_json(r'Path where you saved the JSON fileFile Name.json'
  • 準備 JSON 字符串。
  • 創建一個我們正在使用的 JSON 文件 nobel_prize.json。
  • 將 JSON 文件加載到 pandas DataFrame 中。

下面實現的代碼將我的 JSON 文件加載到 DataFrame 中。

import pandas as pd
import json
 
with open(r'C:UsersHarshit_KantDesktopnobel.prize.json') as f:
   data = json.load(f)
print (data)
 
df = pd.DataFrame
 
print(df)

輸出:

教你一個著名的流行數據格式:Python JSON

繼續前進,讓我們看看如何在 Python 中序列化 JSON。

JSON 序列化[編碼]:

序列化 JSON 只是意味着您正在編碼 JSON。它將給定的 Python 數據結構(ex:dict)轉換為其有效的 JSON 對象。為了處理文件中的數據流,Python 中的 JSON 庫使用 dump()dumps()方法,該方法進行轉換並使其易於將數據寫入文件中。

下表是說明將 Python 數據類型轉換為各自的 JSON 類型的表格。

教你一個著名的流行數據格式:Python JSON

要記住的要點:

dump() –將數據轉換為 JSON 文件

dumps() –將數據轉換為 JSON 字符串

load() –將 JSON 文件轉換為 Python 對象

loads()–將 JSON 字符串的對象轉換為 Python 對象

漂亮的印刷:

Pretty Printing 負責代碼對齊並使其以人類可讀的格式進行。讓我們看下面的示例,其中我傳遞了兩個參數’sort_keys’,這些參數始終返回布爾 True 值和’indent’空格。

例子:

import json
people_string = '''
{
"people":[
{
  "emp_name": "John smith",
  "emp_no.": "924367-567-23",
  "emp_email": ["johnsmith@dummyemail.com"],
  "has_license": "false"
},
{
  "emp_name": "harshit kant",
  "emp_no.": "560-555-5153",
  "emp_email": "null",
  "has_license": "true"
}
]
}
'''
 
data = json.loads(people_string)
new_string = json.dumps(data, sort_keys=True, indent=3)
print(new_string)

輸出:

教你一個著名的流行數據格式:Python JSON

繼續進行 Python JSON 教程,讓我們了解 JSON 的反序列化。

JSON 的反序列化[Decode]:

JSON 的反序列化與序列化完全相反,也就是說,這意味着您正在解碼 JSON。它將通過使用執行轉換的 load()load()方法將給定的 JSON 字符串轉換為 Python 對象。

下表是說明將 JSON 數據類型轉換為其相應的 Python 類型的表格。

教你一個著名的流行數據格式:Python JSON

繼續進行「 PythonJSON」教程。我將通過編碼的角度向您展示一個同時進行序列化和反序列化的實時示例。

編碼演示:

在此編碼演示中,我將使用此處給出的 JSON 數據集,稱為「諾貝爾獎」 。您將學習如何通過 JSON 文件進行序列化和反序列化。

示例(JSON 數據集的序列化):

import json
 
with open('nobel_prize.json.html') as f:
    data = json.load(f)
 
with open('new_nobel_prize.json.html') as f:
    json.dump(data,f,indent=2)

輸出:

Python 代碼已成功編譯,並創建了一個新文件「new_nobel_prize.json」,將從現有文件「nobel_prize.json」中轉儲數據。

教你一個著名的流行數據格式:Python JSON

示例(JSON 數據集的反序列化):

import json
 
with open('nobel_prize.json.html') as f:
data = json.load(f)
 
for nobel_prize in data['prizes']:
print(nobel_prize['year'],nobel_prize['category'])

輸出:

該代碼段顯示了從 JSON 文件到其相應的 Python 對象的更改。

教你一個著名的流行數據格式:Python JSON

希望您對與 JSON 的解析,序列化和反序列化有關的所有概念感到清楚。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/274469.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:13
下一篇 2024-12-17 14:13

相關推薦

發表回復

登錄後才能評論