PHP đọc tệp JSON

JSON là viết tắt của Ký hiệu đối tượng JavaScript. JSON là một định dạng trao đổi dữ liệu nhẹ tiêu chuẩn, nhanh chóng và dễ dàng để phân tích và tạo

JSON, giống như XML, là một định dạng dựa trên văn bản dễ viết và dễ hiểu đối với cả người và máy tính, nhưng không giống như XML, các cấu trúc dữ liệu JSON chiếm ít băng thông hơn so với các phiên bản XML của chúng. JSON dựa trên hai cấu trúc cơ bản

  • Vật. Điều này được định nghĩa là một tập hợp các cặp khóa/giá trị [i. e.
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    0]. Mỗi đối tượng bắt đầu bằng dấu ngoặc nhọn bên trái
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    1 và kết thúc bằng dấu ngoặc nhọn bên phải
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    2. Nhiều cặp khóa/giá trị được phân tách bằng dấu phẩy
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    3
  • Mảng. Đây được định nghĩa là một danh sách các giá trị được sắp xếp. Một mảng bắt đầu bằng dấu ngoặc trái
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    4 và kết thúc bằng dấu ngoặc phải
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    5. Các giá trị được phân tách bằng dấu phẩy
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    3

Trong JSON, khóa luôn là chuỗi, trong khi giá trị có thể là

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
7,
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
8,
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
9 hoặc
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
00,
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
01 hoặc thậm chí là
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
02 hoặc
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
03. Các chuỗi phải được đặt trong dấu ngoặc kép
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
04 và có thể chứa các ký tự thoát như ________ 105, ________ 106 và _____ 107. Một đối tượng JSON có thể trông như thế này

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
8

Trong khi một ví dụ về mảng JSON sẽ giống như thế này

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}

Mẹo. Định dạng trao đổi dữ liệu là định dạng văn bản được sử dụng để trao đổi hoặc trao đổi dữ liệu giữa các nền tảng và hệ điều hành khác nhau. JSON là định dạng trao đổi dữ liệu nhẹ và phổ biến nhất cho các ứng dụng web

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

Cấu trúc dữ liệu JSON rất giống với mảng PHP. PHP có các hàm tích hợp để mã hóa và giải mã dữ liệu JSON. Các hàm này lần lượt là

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
08 và
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
09. Cả hai chức năng chỉ hoạt động với dữ liệu chuỗi được mã hóa UTF-8

Mã hóa dữ liệu JSON trong PHP

Trong PHP, hàm

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
08 được sử dụng để mã hóa một giá trị sang định dạng JSON. Giá trị được mã hóa có thể là bất kỳ loại dữ liệu PHP nào ngoại trừ tài nguyên, như cơ sở dữ liệu hoặc xử lý tệp. Ví dụ dưới đây trình bày cách mã hóa một mảng kết hợp PHP thành một đối tượng JSON

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
0

Đầu ra của ví dụ trên sẽ như thế này

{"Phi-e-rơ". 65,"Harry". 80,"Giăng". 78"Clark". 90}

Tương tự, bạn có thể mã hóa mảng được lập chỉ mục PHP thành một mảng JSON, như thế này

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
4

Đầu ra của ví dụ trên sẽ như thế này

["Đỏ","Xanh lục","Xanh da trời","Cam","Vàng"]

Bạn cũng có thể buộc hàm

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
08 trả về một mảng được lập chỉ mục PHP dưới dạng đối tượng JSON bằng cách sử dụng tùy chọn
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
42, như minh họa trong ví dụ bên dưới

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
4

Đầu ra của ví dụ trên sẽ như thế này

{"0". "Đỏ","1". "Xanh","2". "Xanh dương","3". "Quả cam"}

Như bạn có thể thấy trong các ví dụ trên, một mảng không liên kết có thể được mã hóa thành mảng hoặc đối tượng. Tuy nhiên, một mảng kết hợp luôn được mã hóa thành đối tượng

Giải mã dữ liệu JSON trong PHP

Giải mã dữ liệu JSON đơn giản như mã hóa nó. Bạn có thể sử dụng hàm PHP

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
09 để chuyển đổi chuỗi được mã hóa JSON thành kiểu dữ liệu PHP phù hợp. Ví dụ sau minh họa cách giải mã hoặc chuyển đổi một đối tượng JSON thành đối tượng PHP

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
4

Đầu ra của ví dụ trên sẽ giống như thế này

object[stdClass]#1 [4] { ["Peter"]=> int[65] ["Harry"]=> int[80] ["John"]=> int[78] ["Clark"]=>

Theo mặc định, hàm

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
09 trả về một đối tượng. Tuy nhiên, bạn có thể tùy chọn chỉ định tham số thứ hai
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
45 chấp nhận giá trị boolean mà khi được đặt làm đối tượng JSON
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
46 được giải mã thành các mảng kết hợp. Nó là
{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
47 theo mặc định. Đây là một ví dụ

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
4

Đầu ra của ví dụ trên sẽ giống như thế này

mảng[4] { ["Peter"]=> int[65] ["Harry"]=> int[80] ["John"]=> int[78] ["Clark"]=> int[90] }

Bây giờ, hãy xem một ví dụ sẽ chỉ cho bạn cách giải mã dữ liệu JSON và truy cập các phần tử riêng lẻ của đối tượng hoặc mảng JSON trong PHP

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
5

Bạn cũng có thể lặp qua dữ liệu đã giải mã bằng vòng lặp

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
48, như thế này

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
7

Trích xuất các giá trị từ dữ liệu JSON lồng nhau trong PHP

Các đối tượng và mảng JSON cũng có thể được lồng vào nhau. Một đối tượng JSON có thể tùy ý chứa các đối tượng JSON khác, mảng, mảng lồng nhau, mảng đối tượng JSON, v.v. Ví dụ sau sẽ chỉ cho bạn cách giải mã một đối tượng JSON lồng nhau và in tất cả các giá trị của nó trong PHP

Làm cách nào để đọc tệp JSON trong PHP?

Để sử dụng hàm PHP file_get_contents[] chúng ta có thể đọc một tệp và truy xuất dữ liệu có trong tệp JSON. Sau khi lấy dữ liệu cần chuyển định dạng JSON sang định dạng mảng. Sau đó, với việc sử dụng câu lệnh lặp sẽ hiển thị dưới dạng bảng.

Làm cách nào để đọc và ghi tệp JSON trong PHP?

Chúng ta cũng sẽ khám phá cách đọc và ghi tệp JSON trong PHP. .
Chuyển đổi danh sách mảng kết hợp thành chuỗi JSON bằng json_encode[$jsonData, JSON_PRETTY_PRINT]
Mở tệp JSON mới bằng fopen[$path, 'w']
Viết chuỗi JSON bằng fwrite[$fp, $jsonString]
Đóng tệp bằng fclose[$fp]

Làm cách nào để truy cập đối tượng JSON trong PHP?

Truy cập dữ liệu JSON dưới dạng đối tượng PHP . Để truy cập dữ liệu đối tượng PHP, bạn sử dụng toán tử đối tượng [->] sau tên đối tượng, theo sau là khóa của cặp khóa-giá trị . Tên này giống với tên trong cặp tên-giá trị trong đối tượng JSON, ví dụ: $data->firstName.

Làm cách nào để chuyển đổi tệp JSON sang PHP?

Để chuyển đổi chuỗi dữ liệu JSON thành mảng PHP, bạn có thể sử dụng hàm json_decode[$json] . Hàm json_decode[] chấp nhận chuỗi JSON làm tham số đầu tiên và một vài tham số bổ sung để kiểm soát quá trình chuyển đổi JSON thành mảng PHP.

Chủ Đề