Phản hồi JSON phân tích cú pháp Python

JSON (JavaScript Object Notation) 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 một ứ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ẽ chỉ cho bạn cách sử dụng các phương thức json.loads()

import json
0 để 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 mô-đun

import json
1

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 phương thức json.loads()

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ó tên là

import json
3 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

Nếu chúng ta muốn đọc tệp đó, trước tiên chúng ta cần sử dụng hàm

import json
4 tích hợp sẵn của Python với chế độ đọc. Chúng tôi đang sử dụng từ khóa
import json
5 để đảm bảo rằng tệp được đóng đúng cách

________số 8_______

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ề "Lỗi FileNotFound" nếu tôi viết sai chính tả tên tệp

import json
3

Phản hồi JSON phân tích cú pháp Python

Sau đó, chúng tôi có thể phân tích cú pháp tệp bằng phương pháp

import json
0 và gán nó cho một biến có tên là
import json
8

 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

Phản hồi JSON phân tích cú pháp Python

Nhưng điều đó có thể khó đọc. Để khắc phục điều đó, chúng ta có thể sử dụng phương thức

import json
9 với tham số là
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)
0

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))
Phản hồi JSON phân tích cú pháp Python

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 tham số

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)
1 và đặt tham số đó thành
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)
2.

print(json.dumps(fcc_data, indent=4, sort_keys=True))
Phản hồi JSON phân tích cú pháp Python

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ủ

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 phương thức json.loads()

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 phương thức

import json
0

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Phản hồi JSON phân tích cú pháp Python
Jessica Wilkins

Tôi là một nhạc sĩ và một lập trình viên


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu