Dict to JSON Python trực tuyến

Có nhiều cách để bạn có thể chuyển đổi một đối tượng Json thành các lớp Python. Công cụ này sử dụng một trong những cách sử dụng các hàm tĩnh để ánh xạ các giá trị khóa từ điển để nhập các lớp và thuộc tính Python an toàn. Dưới đây là các bước để chuyển đổi các lớp Json sang Python.  

1. Tạo một DataClass cho mỗi Nút gốc Json

Hãy lấy chuỗi JSON dưới đây làm ví dụ và làm việc với nó trong các bước

{
"Test":
{ "id":4, "userid":"user_id_value", "users":[ { "id":"2", "name":"Test" }, { "id":"6", "name":"Test Child 1" } ] } }

Chúng ta có thể thấy rằng chúng ta cần tạo hai lớp. "Kiểm tra" và "Người dùng" vì thuộc tính "người dùng" là một mảng đối tượng có "id" và "tên"

Chúng ta có thể viết các lớp Python của mình cùng với các thuộc tính của chúng như vậy


from dataclasses import dataclass
from typing import List

@dataclass
class User:
id: str
name: str

@dataclass
class Test:
id: int
userid: str
users: List[User]

Trong Python, thật dễ dàng để tải một chuỗi json vào từ điển và truy cập các giá trị bằng cách gọi các khóa từ điển. Điều này có thể được thực hiện bằng cách sử dụng

x = json. tải [my_json_string]

và truy cập các giá trị từ điển bằng cách sử dụng x["my_json_key"]

Tuy nhiên, việc dịch các mục từ điển này sang các thuộc tính Python an toàn cần thực hiện thêm một vài bước mà chúng ta cần thực hiện

2. Ánh xạ từng Thuộc tính Json vào Thuộc tính Python An toàn Loại

Bước tiếp theo cần thực hiện là ánh xạ từng nút Json và các thuộc tính tới các lớp và thuộc tính Python. Chúng ta có thể làm như vậy bằng cách tạo một phương thức tĩnh trong các lớp Python chịu trách nhiệm ánh xạ từ điển của chúng ta tới các thuộc tính Python của chúng ta. Tập lệnh Python sẽ trông như thế này


from dataclasses import dataclass
from typing import Any, List

@dataclass
class User:
id: str
name: str

@staticmethod
def from_dict[obj: Any] -> 'User':
_id = int[obj.get["id"]]
_name = str[obj.get["name"]]
return User[_id, _name]

@dataclass
class Test:
id: int
userid: str
users: List[User]

@staticmethod
def from_dict[obj: Any] -> 'Test':
_id = int[obj.get["id"]]
_userid = str[obj.get["userid"]]
_users = [User.from_dict[y] for y in obj.get["users"]]
return Test[_id, _userid, _users]

Chúng tôi tạo một phương thức tĩnh gọi là "from_dic" và bên trong phương thức này, chúng tôi tạo các thuộc tính cục bộ ["_id, _name"] và đối với mỗi thuộc tính, chúng tôi đang gọi từ điển của mình cung cấp các khóa được tìm thấy trong chuỗi Json của chúng tôi -> obj. get["id"] rồi truyền đối tượng đó sang các kiểu Python -> int[obj. nhận ["id"]]

Lưu ý rằng đối với Mảng và Danh sách, những gì chúng ta đang làm là tạo một danh sách Người dùng và đối với mỗi người dùng, chúng ta sẽ gọi phương thức "from_dict" để các thuộc tính Người dùng cũng sẽ được ánh xạ. Điều này có thể được nhìn thấy trong dòng dưới đây.  


from dataclasses import dataclass
from typing import List

@dataclass
class User:
id: str
name: str

@dataclass
class Test:
id: int
userid: str
users: List[User]
3

Cuối cùng, chúng tôi đang trả về một đối tượng được ánh xạ như đã thấy trong các dòng cuối cùng của phương thức "from_dict"


from dataclasses import dataclass
from typing import List

@dataclass
class User:
id: str
name: str

@dataclass
class Test:
id: int
userid: str
users: List[User]
4

3. Bọc đối tượng Python của bạn bằng một lớp gốc

Bạn có thể tùy chọn gói các đối tượng Python của mình bằng một lớp gốc và đây là trường hợp bạn có nhiều lớp trong nút gốc của chuỗi Json của mình.  

Chúng tôi có thể đạt được điều này bằng cách thêm mã dưới đây vào Tập lệnh Python của chúng tôi

@dataclass
class Root:
Test: Test

@staticmethod
def from_dict[obj: Any] -> 'Root':
_Test = Test.from_dict[obj.get["Test"]]
return Root[_Test]

4. Gọi chức năng ánh xạ tại lớp gốc

Cuối cùng, để sử dụng các hàm ánh xạ của mình, chúng ta cần gọi hàm ánh xạ gốc là "from_dict" như vậy.  

# Load the json string to a variable
output = json.load[open['data.json']]
# Call the mapping function result = Root.from_dict[output]
# Access your Python properties result.Test.userid

5. Sử dụng Công cụ trực tuyến ở trên để tạo các lớp Python từ chuỗi Json

Bạn luôn có thể sử dụng công cụ trực tuyến ở trên để đạt được những gì chúng tôi đã làm trong ví dụ này. Chỉ cần dán Json của bạn vào vùng văn bản bên trái, nhấn nút chuyển đổi đó và bạn sẽ có các lớp python với ánh xạ của chúng được tạo tự động

Viết, chạy và chia sẻ mã Python trực tuyến bằng trình biên dịch Python trực tuyến của OneCompiler miễn phí. Đây là một trong những trình biên dịch trực tuyến mạnh mẽ, giàu tính năng dành cho ngôn ngữ python, hỗ trợ cả hai phiên bản là Python 3 và Python 2. 7. Bắt đầu với trình soạn thảo Python của OneCompiler thật dễ dàng và nhanh chóng. Trình chỉnh sửa hiển thị mã soạn sẵn mẫu khi bạn chọn ngôn ngữ là Python hoặc Python2 và bắt đầu viết mã

Trình chỉnh sửa trực tuyến python của OneCompiler hỗ trợ stdin và người dùng có thể cung cấp đầu vào cho các chương trình bằng cách sử dụng hộp văn bản STDIN trong tab I/O. Sau đây là một chương trình python mẫu lấy tên làm đầu vào và in tên của bạn bằng xin chào

import sys
name = sys.stdin.readline[]
print["Hello "+ name]

Python là ngôn ngữ lập trình đa năng rất phổ biến được tạo ra bởi Guido van Rossum và phát hành vào năm 1991. Nó rất phổ biến để phát triển web và bạn có thể xây dựng hầu hết mọi thứ như ứng dụng dành cho thiết bị di động, ứng dụng web, công cụ, phân tích dữ liệu, học máy, v.v. Nó được thiết kế đơn giản và dễ dàng như ngôn ngữ tiếng Anh. Nó có năng suất cao và hiệu quả làm cho nó trở thành một ngôn ngữ rất phổ biến

vòng lặp

1. Nếu khác

Khi nào bạn muốn thực hiện một tập hợp các hoạt động dựa trên điều kiện IF-ELSE được sử dụng

if conditional-expression
    #code
elif conditional-expression
    #code
else:
    #code

Ghi chú

Thụt đầu dòng rất quan trọng trong Python, đảm bảo rằng thụt đầu dòng được thực hiện chính xác

2. Vì

Vòng lặp for được sử dụng để lặp qua các mảng [danh sách, bộ dữ liệu, bộ, từ điển] hoặc chuỗi

Ví dụ

mylist=["Iphone","Pixel","Samsung"]
for i in mylist:
    print[i]

3. Trong khi

While cũng được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện. Thông thường, while được ưu tiên khi không biết trước số lần lặp

________số 8

bộ sưu tập

Có bốn loại bộ sưu tập trong Python

1. Danh sách

Danh sách là một tập hợp được sắp xếp theo thứ tự và có thể thay đổi. Danh sách được chỉ định trong ngoặc vuông

Ví dụ

mylist=["iPhone","Pixel","Samsung"]
print[mylist]

2. Tuple

Tuple là một bộ sưu tập được sắp xếp theo thứ tự và không thể thay đổi. Tuples được chỉ định trong dấu ngoặc tròn

Ví dụ


from dataclasses import dataclass
from typing import List

@dataclass
class User:
id: str
name: str

@dataclass
class Test:
id: int
userid: str
users: List[User]
0

Bên dưới sẽ báo lỗi nếu bạn gán lại giá trị khác cho bộ dữ liệu


from dataclasses import dataclass
from typing import List

@dataclass
class User:
id: str
name: str

@dataclass
class Test:
id: int
userid: str
users: List[User]
1

3. Bộ

Set là một bộ sưu tập không có thứ tự và không được lập chỉ mục. Bộ được chỉ định trong dấu ngoặc nhọn

Ví dụ


from dataclasses import dataclass
from typing import List

@dataclass
class User:
id: str
name: str

@dataclass
class Test:
id: int
userid: str
users: List[User]
2

4. Từ điển

Từ điển là tập hợp các cặp giá trị khóa không có thứ tự, có thể thay đổi và lập chỉ mục. Chúng được viết trong dấu ngoặc nhọn với các cặp khóa - giá trị

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

1] Sử dụng hàm dumps[] . Mô-đun "json" giúp dễ dàng phân tích các chuỗi JSON chứa đối tượng JSON.

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

dumps[] Hàm này sẽ chuyển đổi danh sách từ điển thành JSON. Thông số. từ điển – tên của một từ điển sẽ được chuyển đổi thành đối tượng JSON.

Làm cách nào để chuyển đổi OrderedDict thành JSON trong Python?

Để chuyển đổi OrderedDict thành JSON, chúng tôi đang sử dụng json. .
Dạng đầy đủ của JSON là Ký hiệu đối tượng JavaScript. Điều đó có nghĩa là một tệp script [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 trữ và truyền dữ liệu. .
json. hàm dumps[] chuyển đổi đối tượng Python thành chuỗi JSON

Làm cách nào để chuyển đổi dữ liệu Python sang JSON?

Nếu bạn có một đối tượng Python, bạn có thể chuyển đổi nó thành một chuỗi JSON bằng cách sử dụng hàm json. phương thức bãi []. .
tuple
chuỗi
trôi nổi
Sai

Chủ Đề