HomeLập trìnhPythonPython Parse JSON...

Python Parse JSON – Cách đọc tệp JSON


JSON (Ký hiệu đối tượng JavaScript) là một cách phổ biến để cấu trúc dữ liệu. Nó được sử dụng để trao đổi thông tin giữa ứng dụng web và máy chủ. Nhưng làm thế nào để bạn đọc một tệp JSON bằng Python?

Trong bài viết này, tôi sẽ hướng dẫn các bạn cách sử dụng json.loads()json.load() các phương pháp để phân tích và đọc các tệp và chuỗi JSON.

cú pháp JSON

Trước khi phân tích cú pháp và đọc tệp JSON, trước tiên chúng ta cần hiểu cú pháp cơ bản. Cú pháp JSON trông giống như một đối tượng JavaScript theo nghĩa đen với các cặp khóa-giá trị.

Đây là một ví dụ về dữ liệu JSON cho freeCodeCamp:

{
  "organization": "freeCodeCamp",
  "website": "https://www.freecodecamp.org/",
  "formed": 2014,
  "founder": "Quincy Larson",
  "certifications": [
    {
      "name": "Responsive Web Design",
      "courses": [
        "HTML",
        "CSS"
      ]
    },
    {
      "name": "JavaScript Algorithms and Data Structures",
      "courses": [
        "JavaScript"
      ]
    },
    {
      "name": "Front End Development Libraries",
      "courses": [
        "Bootstrap",
        "jQuery",
        "Sass",
        "React",
        "Redux"
      ]
    },
    {
      "name": "Data Visualization",
      "courses": [
        "D3"
      ]
    },
    {
      "name": "Relational Database Course",
      "courses": [
        "Linux",
        "SQL",
        "PostgreSQL",
        "Bash Scripting",
        "Git and GitHub",
        "Nano"
      ]
    },
    {
      "name": "Back End Development and APIs",
      "courses": [
        "MongoDB",
        "Express",
        "Node",
        "NPM"
      ]
    },
    {
      "name": "Quality Assurance",
      "courses": [
        "Testing with Chai",
        "Express",
        "Node"
      ]
    },
    {
      "name": "Scientific Computing with Python",
      "courses": [
        "Python"
      ]
    },
    {
      "name": "Data Analysis with Python",
      "courses": [
        "Numpy",
        "Pandas",
        "Matplotlib",
        "Seaborn"
      ]
    },
    {
      "name": "Information Security",
      "courses": [
        "HelmetJS"
      ]
    },
    {
      "name": "Machine Learning with Python",
      "courses": [
        "Machine Learning",
        "TensorFlow"
      ]
    }
  ]
}

Cách phân tích chuỗi JSON trong Python

Python có một mô-đun tích hợp cho phép bạn làm việc với dữ liệu JSON. Ở đầu tệp của bạn, bạn sẽ cần nhập tệp json mô-đun.

import json

Nếu bạn cần phân tích một chuỗi JSON trả về một từ điển, thì bạn có thể sử dụng json.loads() phương pháp.

import json

# assigns a JSON string to a variable called jess 
jess="{"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}"

# parses the data and assigns it to a variable called jess_dict
jess_dict = json.loads(jess)

# Printed output: {"name": "Jessica Wilkins", "hobbies": ["music", "watching TV", "hanging out with friends"]}
print(jess_dict)

Cách phân tích và đọc tệp JSON trong Python

Trong ví dụ này, chúng tôi có một tệp JSON được gọi là fcc.json chứa cùng dữ liệu từ trước đó liên quan đến các khóa học do freeCodeCamp cung cấp.

Đọc thêm  Toán tử Python – Toán tử logic trong Python

Nếu chúng ta muốn đọc tệp đó, trước tiên chúng ta cần sử dụng Python tích hợp sẵn open() hoạt động với chế độ đọc. chúng tôi đang sử dụng with để đảm bảo rằng tệp được đóng đúng cách.

with open('fcc.json', 'r') as fcc_file:

Nếu tệp không thể mở được, thì chúng tôi sẽ nhận được OSError. Đây là một ví dụ về “FileNotFoundError” nếu tôi viết sai chính tả fcc.json tên tập tin.

Screen-Shot-2022-02-07-at-4.47.15-AM

Sau đó, chúng tôi có thể phân tích cú pháp tệp bằng cách sử dụng json.load() phương thức và gán nó cho một biến gọi là fcc_data.

 fcc_data = json.load(fcc_file)

Bước cuối cùng sẽ là in kết quả.

print(fcc_data)

Đây là toàn bộ mã sẽ trông như thế nào:

import json

with open('fcc.json', 'r') as fcc_file:
    fcc_data = json.load(fcc_file)
    print(fcc_data)

Cách in đẹp dữ liệu JSON trong Python

Nếu chúng ta kiểm tra dữ liệu được in, thì chúng ta sẽ thấy rằng dữ liệu JSON được in tất cả trên một dòng.

Screen-Shot-2022-02-07-at-5.09.05-AM

Nhưng điều đó có thể khó đọc. Để khắc phục điều đó, chúng ta có thể sử dụng json.dumps() phương thức với tham số là indent.

Trong ví dụ này, chúng ta sẽ thụt lề 4 khoảng trắng và in dữ liệu ở định dạng dễ đọc hơn.

 print(json.dumps(fcc_data, indent=4))
Screen-Shot-2022-02-07-at-5.13.13-AM

Chúng ta cũng có thể sắp xếp các khóa theo thứ tự bảng chữ cái bằng cách sử dụng sort_keys tham số và thiết lập nó để True.

print(json.dumps(fcc_data, indent=4, sort_keys=True))
Screen-Shot-2022-02-07-at-5.18.47-AM

Phần kết luận

JSON (Ký hiệu đối tượng JavaScript) là một cách phổ biến để cấu trúc dữ liệu và được sử dụng để trao đổi thông tin giữa ứng dụng web và máy chủ.

Đọc thêm  Chuỗi nối Python – Cách kết hợp và nối chuỗi trong Python

Nếu bạn cần phân tích một chuỗi JSON trả về một từ điển, thì bạn có thể sử dụng json.loads() phương pháp.

Nếu bạn cần phân tích tệp JSON trả về từ điển, thì bạn có thể sử dụng json.load() phương pháp.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status