Hàm is_numeric() trong PHP
1. Chức năng của hàm is_numeric() Hàm is_numeric() trong PHP có chức năng kiểm tra một...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
1. JSON (JavaScript Object Notation) là gì? JSON (JavaScript Object Notation) là một định dạng (format) dữ liệu bắt nguồn từ ngôn ngữ Javascript. Dữ liệu trong JSON chủ yếu là text, được lưu trữ theo cặp thuộc tính (attribute) – giá trị (value). JSON thường được sử dụng trong các trường hợp: Phát triển […]
JSON (JavaScript Object Notation) là một định dạng (format) dữ liệu bắt nguồn từ ngôn ngữ Javascript. Dữ liệu trong JSON chủ yếu là text, được lưu trữ theo cặp thuộc tính (attribute) – giá trị (value). JSON thường được sử dụng trong các trường hợp:
settings.json trong Visual Studio Code.Bên dưới là ví dụ file info.json lưu trữ dữ liệu về thông tin của website gochocit.com.
info.json
{
"domainname": "gochocit.com",
"active": true,
"numberposts": 360,
"category": ["hardware", "software", "network"],
"facebookpage": "https://www.facebook.com/gochocit/",
"build": {
"language": "php",
"cms": "wordpress",
"database": "mysql"
}
}
Các lưu ý chính về định dạng của JSON là:
"key": <value>. Value có thể là bất kỳ kiểu dữ liệu nào như object, list, string, number, boolean, null,…Lưu ý: Chúng ta nên sử dụng thụt đầu dòng (indentation) để làm cho JSON rõ ràng, dễ đọc hơn.
Python xây dựng sẵn module json để làm việc với JSON. Chúng ta cần import json để sử dụng module này. Nhưng trước hết, chúng ta cần mở (open) và đọc (read) file JSON để đọc dữ liệu JSON từ file với hàm json.load().
import json
with open('info.json', 'r') as f:
data = json.load(f)
print(type(data))
print(data)
<class 'dict'>
{'domainname': 'gochocit.com', 'active': True, 'numberposts': 360, 'category': ['hardware', 'software', 'network'], 'facebookpage': 'https://www.facebook.com/gochocit/', 'build': {'language': 'php', 'cms': 'wordpress', 'database': 'mysql'}}
Hàm json.load() sẽ phân tích dữ liệu JSON và trả về một dictionary để xử lý được với Python. Lúc này, chúng ta có thể dễ dàng truy cập value của các cặp key – value trong dữ liệu JSON.
import json
with open('info.json', 'r') as f:
data = json.load(f)
# access value of key-value
print(data["domainname"])
print(data["active"])
print(data["numberposts"])
print(data["category"])
print(data["facebookpage"])
print(data["build"])
category = data["category"]
build = data["build"]
print("type of category:", type(category))
print("type of build:", type(build))
gochocit.com
True
360
['hardware', 'software', 'network']
https://www.facebook.com/gochocit/
{'language': 'php', 'cms': 'wordpress', 'database': 'mysql'}
type of category: <class 'list'>
type of build: <class 'dict'>
Nếu các bạn đang có một JSON string thì cần sử dụng hàm json.loads() để convert sang dictionary trong Python.
import json
data_string = """
{
"domainname": "gochocit.com",
"active": true,
"numberposts": 360,
"category": ["hardware", "software", "network"],
"facebookpage": "https://www.facebook.com/gochocit/",
"build": {
"language": "php",
"cms": "wordpress",
"database": "mysql"
}
}
"""
#convert json string to dictionary
data = json.loads(data_string)
# access value of key-value
print(data["domainname"])
print(data["active"])
print(data["numberposts"])
print(data["category"])
print(data["facebookpage"])
print(data["build"])
category = data["category"]
build = data["build"]
print("type of category:", type(category))
print("type of build:", type(build))
gochocit.com
True
360
['hardware', 'software', 'network']
https://www.facebook.com/gochocit/
{'language': 'php', 'cms': 'wordpress', 'database': 'mysql'}
type of category: <class 'list'>
type of build: <class 'dict'>
Khi chuyển đổi (convert) từ JSON string sang dictionary trong Python, chúng ta sẽ có data type của value trong JSON sẽ được chuyển đổi thành các data type tương ứng trong Python. Bảng bên dưới tóm tắt data type của value trong JSON sẽ được chuyển thành data type tương ứng trong Python.
| JSON | Python |
| object | dict |
| array | list |
| string | str |
| number (int) | int |
| number (float) | float |
| true | True |
| false | False |
| null | None |
Bảng chuyển đổi data type ở trên cũng được áp dụng tương tự khi chúng ta đọc dữ liệu từ JSON file.