Thêm json vào từ điển python

Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi chuỗi JSON thành từ điển trong Python. Chúng tôi sẽ sử dụng chức năng tích hợp có sẵn trong Python cho JSON và một số ví dụ tùy chỉnh có liên quan. Trước tiên, hãy xem nhanh dạng đầy đủ của JSON và cách các tệp JSON được sử dụng

JSON là gì?

JSON là viết tắt của

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
4. Nó là một định dạng dữ liệu phổ biến được sử dụng để biểu diễn dữ liệu có cấu trúc. Nó là một định dạng nhẹ được sử dụng để trao đổi dữ liệu. Biểu diễn dữ liệu trong JSON tương tự như biểu diễn của Từ điển Python. Nó là một tập hợp các cặp tên/giá trị. Trong JSON, việc truyền và nhận dữ liệu giữa máy chủ và ứng dụng web ở định dạng JSON là phổ biến. Nó cũng phổ biến để lưu trữ một đối tượng JSON trong một tệp. Dữ liệu JSON có thể ở dạng đối tượng, mảng, giá trị, chuỗi hoặc số. Trong Python, JSON tồn tại dưới dạng một chuỗi hoặc giống như một từ điển có các cặp khóa-giá trị trong đó các khóa phải là một chuỗi và các giá trị có thể thuộc bất kỳ loại nào như đối tượng, mảng, giá trị, chuỗi hoặc số

Chuyển đổi Chuỗi JSON thành Từ điển Python bằng json. hàm tải ()

Python cung cấp phương thức

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
5 để chuyển đổi nội dung tệp JSON thành Từ điển Python. Chuyển đổi tệp JSON thành từ điển là một nhiệm vụ khá dễ dàng trong python vì tập lệnh python cung cấp mô-đun JSON tích hợp và JSON có hàm load() tích hợp để thực hiện quá trình chuyển đổi. Sử dụng cùng một chức năng JSON, chúng ta cũng có thể chuyển đổi một chuỗi JSON do người dùng nhập làm từ điển. Cách này dùng khi lập trình viên đã có sẵn file JSON với dữ liệu có cấu trúc

cú pháp

json.load(file object)

Tệp JSON mẫu

Tệp JSON này, chúng tôi sẽ chuyển đổi thành Từ điển Python

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}

Ví dụ

Trong ví dụ sau, chúng ta sẽ đọc một tệp JSON và sau đó in ra dữ liệu dưới dạng từ điển. Hàm

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
5 này đọc chuỗi từ tệp JSON. json. hàm load(file) tạo và trả về một từ điển Python mới với các cặp khóa-giá trị trong tệp JSON. Sau đó, từ điển này được gán cho biến dữ liệu và kết quả được hiển thị. Bạn cũng có thể kiểm tra kiểu của biến bằng cách sử dụng hàm
{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
7 có sẵn của Python

import json

#opens the JSON file 
with open("sample.json") as json_file:
    data = json.load(json_file)
    
#type of data variable
print("Type:", type(data))
    
#prints the data in dictionary
print("Science Students:", data['Science'])
print("Commerce Students:", data['Commerce'])


Loại.
Sinh viên khoa học. [{'Tên'. 'Hệ thực vật', 'tuổi tác'. 18, 'điểm'. 87}, {'tên'. 'Frank', 'tuổi tác'. 18, 'điểm'. 76}]
Sinh viên Thương mại. [{'Tên'. 'David', 'tuổi'. 18, 'điểm'. 92}, {'tên'. 'Denver', 'tuổi tác'. 19, 'điểm'. 65}]

Vì chúng ta đã đọc tệp JSON, đã chuyển đổi chuỗi JSON thành Từ điển Python, giờ đây chúng ta có thể truy cập dữ liệu bằng chỉ mục như hình bên dưới. Đây là cách chúng ta có thể in dữ liệu lồng nhau

#access dictionary using index
print(data["Science"][0])


{'Tên'. 'Hệ thực vật', 'tuổi tác'. 18, 'điểm'. 87}

Những điểm cần nhớ

1. Để đọc bất kỳ tệp JSON nào và để làm việc với JSON (chuỗi hoặc tệp chứa đối tượng JSON), bạn phải nhập mô-đun JSON trong tập lệnh python

2. Tệp JSON của bạn và tập lệnh Python của bạn phải nằm trong cùng một thư mục

3. Tệp JSON của bạn phải tuân theo tiêu chuẩn JSON, vì vậy nó phải có dấu ngoặc kép thay vì dấu ngoặc đơn, nếu không nó sẽ trả về JSONDecodeError

Phần kết luận

Trong đoạn mã trên, chúng ta học cách đọc một chuỗi JSON và chuyển đổi dữ liệu sang Từ điển Python. Bây giờ, chúng ta có thể truy cập dữ liệu bằng cách sử dụng các chỉ mục như chúng ta làm trong Từ điển Python

Từ điển Python là tập hợp các cặp khóa-giá trị. Từ điển có thể thay đổi (có thể thay đổi), không có thứ tự và có thể được lập chỉ mục (sử dụng các phím). Mặc dù thực tế là từ điển có thể thay đổi được nhưng các phím thì không. Trong Python, từ điển thuộc kiểu dữ liệu

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
8 và là một trong những cấu trúc dữ liệu (đối tượng trong bộ nhớ). Các cấu trúc dữ liệu khác trong Python bao gồm danh sách, bộ dữ liệu và bộ

JSON là viết tắt của Ký hiệu đối tượng JavaScript. JSON là một tệp tập lệnh (có thể thực thi) được tạo thành từ văn bản bằng ngôn ngữ lập trình được sử dụng để lưu và truyền dữ liệu. Ví dụ: Python hỗ trợ JSON thông qua gói tích hợp có tên là gói json

Python json để đọc chính tả

Để chuyển đổi json thành dict trong Python, hãy sử dụng lệnh json. hàm tải (). json. load() là một chức năng tích hợp giúp giải tuần tự hóa dữ liệu json thành một đối tượng. Mô-đun json giúp dễ dàng phân tích chuỗi json và tệp chứa đối tượng json

Bạn có thể phân tích cú pháp chuỗi JSON bằng json. phương thức tải (). json. phương thức loading() trả về Từ điển. Để làm việc với JSON (chuỗi hoặc tệp chứa đối tượng JSON) trong Python, bạn phải sử dụng mô-đun json của Python.

Bạn cần nhập mô-đun json trước khi có thể sử dụng nó

Các bước để chuyển đổi json thành dict trong Python

Bước 1. Chuẩn bị dữ liệu json

Tạo một ứng dụng. py và xem đoạn mã sau

# app.py

import json

videogame = '{"console": "Playstation 5", "games": ["Spiderman", "God of War"]}'

Nếu bạn không muốn ghi dữ liệu json mã cứng, bạn có thể sử dụng tệp json bên ngoài

Giả sử chúng ta có một tệp json bên ngoài được gọi là dữ liệu. json và nội dung của tệp như sau

{
  "console": "Playstation 5",
  "games": [
    "Spiderman",
    "God of War"
  ]
}

Chúng tôi sẽ sử dụng câu lệnh Python with để sử dụng tệp này bên trong ứng dụng. tệp py

# app.py

import json
with open('data.json') as d:
 print(d)

Chúng tôi đã sử dụng hàm open() để đọc tệp json

Bước 2. Chuyển đổi JSON sang dict bằng cách sử dụng json. hàm tải ()

Viết mã sau vào bên trong ứng dụng. tệp py

# app.py

import json


with open('data.json') as d:
    dictData = json.load(d)
    print(dictData)
    print(type(dictData))
    print(dictData['games'])

Trong đoạn mã trên, sau khi chuyển đổi json thành dict, chúng tôi đã in Từ điển đó, loại của nó và một thuộc tính của nó

Xem đầu ra

________số 8

Nếu bạn không muốn đọc tệp và sử dụng dữ liệu json được mã hóa cứng trong tệp, thì bạn có thể viết đoạn mã sau

# app.py

import json

videogame = '{"console": "Playstation 5", "games": ["Spiderman", "God of War"]}'
data = json.loads(videogame)

print(data)
print(type(data))

print(data['games'])

đầu ra

________số 8

Đầu ra giống nhau, nhưng có một sự khác biệt lớn trong các hàm json

Trong trường hợp này, chúng tôi đã sử dụng json. hàm loading() chứ không phải json. hàm tải ()

Hãy xem sự khác biệt giữa chúng là gì

Sự khác biệt giữa json. tải () và json. tải ()

Python json. hàm load() phải được sử dụng với đối tượng tệp và json. hàm loading() được sử dụng với chuỗi json. Chữ “s” là viết tắt của một chuỗi trong tên hàm loading()

json. hàm loading() không lấy đường dẫn tệp mà lấy nội dung tệp dưới dạng chuỗi

Vì vậy, trong các ví dụ trên, khi chúng ta có đường dẫn tệp dữ liệu. json, chúng tôi đã sử dụng json. load() và wkhi chúng ta có nội dung json dưới dạng chuỗi, hãy sử dụng json. hàm loading() .

Đây là bảng hiển thị các đối tượng Python và chuyển đổi tương đương của chúng thành json

Danh sách đối tượng chính tả tương đương JSON JSON, tuplearraystrstringint, float, intnumberTruetrueFalsefalseNonenull

 

Cách chuyển đổi đối tượng JSON lồng nhau thành Từ điển

Để chuyển đổi một đối tượng json lồng nhau thành một từ điển trong Python, hãy sử dụng lệnh json. phương thức load() với vòng lặp for. Giả sử chúng ta có nội dung sau bên trong dữ liệu. tệp json

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
1

Bây giờ, chúng ta sẽ sử dụng hàm open() để mở file json, chuyển đổi đối tượng file thành Dictionary và in nội dung của Dictionary. Viết đoạn mã sau bên trong ứng dụng. tập tin py.

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
2

đầu ra

{
 "Science" : [
   {
	"name" : "Flora"
	"age"  : 18
	"marks": 87
   },
   {
	"name" : "Frank"
	"age"  : 18
	"marks": 76
   }
 ],
 "Commerce" : [
   {
	"name" : "David"
	"age"  : 18
	"marks": 92
   },
   {
	"name" : "Denver"
	"age"  : 19
	"marks": 65
   }
 ]
}
3

Phần kết luận

Mô-đun json của Python cung cấp chức năng giúp chúng ta chuyển đổi Python JSON thành Từ điển và Từ điển Python thành JSON.  

Python json. dumps() là một hàm tích hợp giúp chuyển đổi từ điển thành đối tượng chuỗi, không phải đối tượng json(dictionary)

Python json. loading() là một chức năng tích hợp giúp chuyển đổi json thành đối tượng từ điển

Nếu bạn đang làm việc với một tệp hoặc máy chủ tĩnh, bạn có thể dễ dàng chuyển đổi dữ liệu từ nhau

Đó là nó cho hướng dẫn này

Bài viết liên quan

Python dict thành json

Phân tích cú pháp json bằng Python

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước AWS Auto Scaling là gì. Kiến trúc AWS có thể mở rộng

Bài viết tiếp theo Cách triển khai nút. js vào Heroku

kranal

https. //appdividend. com/

Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến ​​thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end

Làm cách nào để tải tệp JSON vào từ điển Python?

Chuỗi JSON sang Từ điển Python . json. loading(data_JSON) tạo một từ điển mới với các cặp khóa-giá trị của chuỗi JSON và nó trả về từ điển mới này. use the loads() function of the json module, passing the string as the argument. json. loads(data_JSON) creates a new dictionary with the key-value pairs of the JSON string and it returns this new dictionary.

Làm cách nào để chuyển đổi chuỗi JSON thành từ điển trong Python?

Sử dụng json. hàm tải() . json. hàm loading() chấp nhận đầu vào là một chuỗi hợp lệ và chuyển đổi nó thành một từ điển Python.

Làm cách nào để nối thêm đối tượng JSON trong Python?

Các bước để thêm vào tệp JSON . Đọc JSON trong Python dict hoặc đối tượng danh sách. Nối đối tượng JSON vào dict (hoặc list ) bằng cách sửa đổi nó. Viết đối tượng dict (hoặc list ) đã cập nhật vào tệp gốc.

Giá trị JSON có thể là một từ điển không?

JSON ở cấp cao nhất là từ điển gồm các cặp thuộc tính/giá trị hoặc cặp khóa/giá trị như chúng ta đã nói về từ điển trong lớp này. Các giá trị là số, chuỗi, từ điển khác và danh sách.