Làm cách nào để phân tích cú pháp mảng đối tượng JSON trong PHP?

Trong đoạn mã này, bạn có thể tìm thấy hướng dẫn từng bước về cách tạo và phân tích cú pháp dữ liệu JSON bằng PHP. Thực hiện theo các bước và bạn sẽ dễ dàng đạt được mục tiêu của mình

Cấu trúc dữ liệu của JSON giống hệt với mảng PHP. Tồn tại các chức năng tích hợp cụ thể cho phép mã hóa và giải mã dữ liệu JSON. Chúng là các hàm json_encode() và json_decode(). Tuy nhiên, hãy lưu ý rằng các chức năng này chỉ hoạt động với dữ liệu chuỗi, chỉ hoạt động với UTF-8

Trong PHP, hàm đầu tiên được áp dụng để mã hóa một giá trị thành định dạng JSON. Trong ví dụ bên dưới, bạn có thể thấy quá trình mã hóa một mảng PHP kết hợp thành một đối tượng JSON

Đầu ra của nó sẽ như sau

{"John":68,"George":75,"David":65,"Roger":40}

Theo cách tương tự, một mảng PHP được lập chỉ mục có thể được mã hóa thành một mảng JSON

Và, đầu ra là như sau

["Blue","White","Green","Black","Yellow"]

Một lưu ý quan trọng. trong khi một mảng kết hợp có thể được mã hóa dưới dạng một đối tượng, một mảng không kết hợp - cả dưới dạng đối tượng và mảng

Để phân tích cú pháp dữ liệu JSON, bạn có thể sử dụng giải mã. Nó đơn giản như mã hóa. Nó chủ yếu được áp dụng để chuyển đổi chuỗi được mã hóa JSON thành kiểu dữ liệu phù hợp của PHP

Để hiểu rõ hơn, hãy xem ví dụ dưới đây

Đây là đầu ra của ví dụ trên

Vì vậy, theo mặc định, một đối tượng được trả về bởi hàm json_decode(). Tuy nhiên, một tham số tùy chọn như $assoc có thể được chỉ định. Đây là cách nó có thể trông giống như

Đầu ra của nó sẽ như sau

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }

Trong ví dụ tiếp theo, minh họa cách giải mã dữ liệu của JSON, truy cập các phần tử riêng lẻ của một mảng hoặc một đối tượng

Ngoài ra, dữ liệu được giải mã có thể được lặp lại bằng cách sử dụng vòng lặp foreach() theo cách này

JSON hoặc Ký hiệu đối tượng JavaScript là định dạng trao đổi dữ liệu cho phép phân tích cú pháp và tạo một cách đơn giản. Nó là một định dạng dựa trên văn bản, viết đơn giản và dễ hiểu cho máy tính và con người

JSON đứng trên hai cấu trúc chính. đối tượng và mảng. Cái đầu tiên được gọi là tập hợp các cặp giá trị/khóa. Cái thứ hai là một danh sách giá trị được sắp xếp. Các khóa luôn được coi là các chuỗi ở định dạng JSON, trong khi các giá trị có thể là một đối tượng, mảng, chuỗi, số, v.v.

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
["Blue","White","Green","Black","Yellow"]
30,
["Blue","White","Green","Black","Yellow"]
31 hoặc thậm chí là
["Blue","White","Green","Black","Yellow"]
32 hoặc
["Blue","White","Green","Black","Yellow"]
33. Các chuỗi phải được đặt trong dấu ngoặc kép
["Blue","White","Green","Black","Yellow"]
34 và có thể chứa các ký tự thoát như ________ 135, ________ 136 và ________ 137. Một đối tượng JSON có thể trông như thế này

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
1

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à

["Blue","White","Green","Black","Yellow"]
38 và
["Blue","White","Green","Black","Yellow"]
39. 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

["Blue","White","Green","Black","Yellow"]
38 đượ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

["Blue","White","Green","Black","Yellow"]
3

Đầ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

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
7

Đầ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

["Blue","White","Green","Black","Yellow"]
38 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
array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
72, như minh họa trong ví dụ bên dưới

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
7

Đầ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

["Blue","White","Green","Black","Yellow"]
39 để 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

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
7

Đầ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

["Blue","White","Green","Black","Yellow"]
39 trả về một đối tượng. Tuy nhiên, bạn có thể tùy chọn chỉ định tham số thứ hai
array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
75 chấp nhận giá trị boolean mà khi được đặt làm đối tượng JSON
array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
76 được giải mã thành các mảng kết hợp. Nó là
array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
77 theo mặc định. Đây là một ví dụ

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
7

Đầ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"
    ]
}
8

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

array(4) { ["George"]=> int(63) ["David"]=> int(75) [Harold"]=> int(60) ["Clark"]=> int(90) }
78, như thế này

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


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 để phân tích cú pháp mảng đối tượng JSON trong PHP?

PHP và JSON .
Hàm json_encode() dùng để mã hóa một giá trị sang định dạng JSON
Hàm json_decode() được sử dụng để giải mã một đối tượng JSON thành một đối tượng PHP hoặc một mảng kết hợp
Hàm json_decode() trả về một đối tượng theo mặc định. .
Bạn cũng có thể lặp qua các giá trị bằng vòng lặp foreach()

Làm cách nào để lấy nhiều dữ liệu từ mảng JSON trong PHP?

$result = json_decode(json_encode($product),true); . "; echo $result['đã lấy']; echo "tổng số mảnh. "; echo $result['_shards']['total'];

Làm cách nào để tách dữ liệu JSON trong PHP?

Hãy thử điều này. .
tạo một đối tượng Json từ chuỗi Json,
sắp xếp lại đối tượng thành một mảng PHP tạm thời,
tạo một đối tượng Json (chuỗi) từ mảng PHP

Làm cách nào để phân tích cú pháp JSON thành mảng?

Sử dụng JSON. phương thức parse() để phân tích một mảng JSON , e. g. JSON. phân tích cú pháp (mảng). Phương thức phân tích cú pháp một chuỗi JSON và trả về giá trị JavaScript hoặc đối tượng tương đương của nó.