Làm cách nào để đọc từng dòng JSON trong Python?

Khi bạn chuyển đổi từ Python sang JSON, các đối tượng Python được chuyển đổi thành JSON (JavaScript) tương đương

PythonJSONdictObjectlistArraytupleArraystrStringintNumberfloatNumberTruetrueFalsefalseNonenull

Thí dụ

Chuyển đổi một đối tượng Python chứa tất cả các loại dữ liệu hợp lệ

nhập json

x = {
"Tên". "John",
"tuổi". 30,
"cưới nhau". Thật,
"ly hôn". Sai,
"những đứa trẻ". ("Ann","Billy"),
"vật nuôi". Không có,
"ô tô". [
{"mô hình". "BMW 230", "mpg". 27. 5},
{"mô hình". "Ford Edge", "mpg". 24. 1}
]
}

in (json. bãi (x))

Tự mình thử »


Định dạng kết quả

Ví dụ trên in ra một chuỗi JSON, nhưng nó không dễ đọc lắm, không có dấu đầu dòng và ngắt dòng

Phương thức json.dumps() có các tham số để dễ đọc kết quả hơn

Bạn cũng có thể xác định dấu phân cách, giá trị mặc định là (", ", ". "), có nghĩa là sử dụng dấu phẩy và dấu cách để phân tách từng đối tượng, dấu hai chấm và dấu cách để phân tách khóa khỏi giá trị

JSON (Ký hiệu đối tượng JavaScript) 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. 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

Trong Python, JSON tồn tại dưới dạng một chuỗi. Ví dụ

p = '{"name": "Bob", "languages": ["Python", "Java"]}'

Nó cũng phổ biến để lưu trữ một đối tượng JSON trong một tệp


Nhập Mô-đun json

Để làm việc với JSON (chuỗi hoặc tệp chứa đối tượng JSON), bạn có thể sử dụng mô-đun

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

import json

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

Mô-đun

import json
0 giúp dễ dàng phân tích chuỗi JSON và tệp chứa đối tượng JSON


ví dụ 1. Python JSON để đọc chính tả

Bạn có thể phân tích một chuỗi JSON bằng phương pháp

import json
2. Phương thức trả về một từ điển

import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])

Ở đây, person là một chuỗi JSON và person_dict là một từ điển


ví dụ 2. Python đọc tệp JSON

Bạn có thể sử dụng phương thức

import json
3 để đọc tệp chứa đối tượng JSON

Giả sử, bạn có một tệp tên là

import json
4 chứa một đối tượng JSON

________số 8_______

Đây là cách bạn có thể phân tích cú pháp tệp này


import json

with open('path_to_file/person.json', 'r') as f:
  data = json.load(f)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print(data)

Ở đây, chúng tôi đã sử dụng chức năng

import json
5 để đọc tệp json. Sau đó, tệp được phân tích cú pháp bằng phương pháp
import json
3 cung cấp cho chúng tôi một từ điển có tên data

Nếu bạn không biết cách đọc và ghi tệp bằng Python, chúng tôi khuyên bạn nên kiểm tra I/O tệp Python


Python Chuyển đổi thành chuỗi JSON

Bạn có thể chuyển đổi từ điển thành chuỗi JSON bằng phương pháp

import json
7


ví dụ 3. Chuyển đổi dict thành JSON


import json

person_dict = {'name': 'Bob',
'age': 12,
'children': None
}
person_json = json.dumps(person_dict)

# Output: {"name": "Bob", "age": 12, "children": null}
print(person_json)

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

PythonJSON Equivalent
import json
8object
import json
9,
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
0array
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
1string
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
2,
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
3,
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
2number
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
5true
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
6false
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
7null

Viết JSON vào một tệp

Để ghi JSON vào một tệp bằng Python, chúng ta có thể sử dụng phương thức

import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
8


Ví dụ 4. Viết JSON vào một tệp


import json

person_dict = {"name": "Bob",
"languages": ["English", "French"],
"married": True,
"age": 32
}

with open('person.txt', 'w') as json_file:
  json.dump(person_dict, json_file)

Trong chương trình trên, chúng tôi đã mở một tệp có tên

import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
9 ở chế độ viết bằng cách sử dụng

{"name": "Bob", 
"languages": ["English", "French"]
}
0. Nếu tệp chưa tồn tại, nó sẽ được tạo. Sau đó,
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
8 biến đổi

{"name": "Bob", 
"languages": ["English", "French"]
}
2 thành một chuỗi JSON sẽ được lưu trong tệp
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
9

Khi bạn chạy chương trình, tệp

import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
9 sẽ được tạo. Tệp có văn bản sau bên trong nó

{"name": "Bob", "languages": ["English", "French"], "married": true, "age": 32}

Python in JSON đẹp

Để phân tích và gỡ lỗi dữ liệu JSON, chúng tôi có thể cần in nó ở định dạng dễ đọc hơn. Điều này có thể được thực hiện bằng cách chuyển các tham số bổ sung


{"name": "Bob", 
"languages": ["English", "French"]
}
5 và

{"name": "Bob", 
"languages": ["English", "French"]
}
6 cho phương thức
import json
7 và
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
8


Ví dụ 5. Python in JSON đẹp


import json

person_string = '{"name": "Bob", "languages": "English", "numbers": [2, 1.6, null]}'

# Getting dictionary
person_dict = json.loads(person_string)

# Pretty Printing JSON string back
print(json.dumps(person_dict, indent = 4, sort_keys=True))

Khi bạn chạy chương trình, đầu ra sẽ là

{
    "languages": "English",
    "name": "Bob",
    "numbers": [
        2,
        1.6,
        null
    ]
}

Trong chương trình trên, chúng ta đã sử dụng


{"name": "Bob", 
"languages": ["English", "French"]
}
9 khoảng trắng để thụt đầu dòng. Và, các phím được sắp xếp theo thứ tự tăng dần

Nhân tiện, giá trị mặc định của thụt lề là

import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
7. Và, giá trị mặc định của sort_keys là
import json

person = '{"name": "Bob", "languages": ["English", "French"]}'
person_dict = json.loads(person)

# Output: {'name': 'Bob', 'languages': ['English', 'French']}
print( person_dict)

# Output: ['English', 'French']
print(person_dict['languages'])
6

Làm cách nào để đọc từng dòng tệp JSON trong Python?

Đọc tệp JSON bằng Python .
Nhập mô-đun json
Mở tệp bằng tên của tệp json bằng hàm open()
Mở tệp bằng tên của tệp json bằng hàm open()
Đọc tệp json bằng load() và đặt dữ liệu json vào một biến

Làm cách nào để đọc các giá trị JSON trong Python?

Đọc từ JSON . Nó được thực hiện bằng cách sử dụng mô-đun JSON, mô-đun này cung cấp cho chúng ta rất nhiều phương thức, trong đó các phương thức loading() và load() sẽ giúp chúng ta đọc tệp JSON.

Làm cách nào để đọc phản hồi JSON bằng Python?

Để đọc phản hồi JSON, có một thư viện được sử dụng rộng rãi có tên là urllib trong python. .
Nhập các mô-đun cần thiết
Chỉ định URL
Nhận phản hồi của URL bằng cách sử dụng urlopen()
Chuyển đổi nó thành phản hồi JSON bằng json. tải ()
Hiển thị phản hồi JSON được tạo

Làm cách nào để trích xuất dữ liệu cụ thể từ JSON Python?

Chuyển đổi tệp JSON thành đối tượng Python . Thay vì phương thức tải JSON đọc chuỗi JSON, phương thức được sử dụng để đọc dữ liệu JSON trong tệp là load() . Phương thức load() chiếm một đối tượng tệp và trả về dữ liệu JSON được phân tích thành một đối tượng Python.