Json_encode thành mảng php

JSON là viết tắt của Javascript Object Notation. JSON là một dạng trao đổi dữ liệu nhẹ tiêu chuẩn, nhanh chóng và dễ dàng để phân tích cú pháp 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 cho cả người và máy tính, nhưng không giống như XML, cấu trúc dữ liệu JSON sử dụng ít băng thông hơn các phiên bản XML của chúng. JSON dựa trên hai cấu trúc cơ bản

  • Đối tượng. This is default is an a compile of cặp từ khóa / giá trị (tức là khóa. giá trị). Mỗi đối tượng bắt đầu bằng dấu chiết tách bên trái
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    0 và kết thúc bằng dấu chiết tách bên phải
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    1. Nhiều cặp khóa / giá trị được phân tách bằng ủy nhiệm_______02
  • Mảng. This is default is a list of the values ​​has thứ tự. Một mảng bắt đầu bằng dấu ngoặc nhọn bên trái
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    3 và kết thúc bằng dấu ngoặc nhọn bên phải
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    4. Các giá trị được phân tách bằng dấu phẩy
    {
        "fruits": [
            "Apple",
            "Banana",
            "Strawberry",
            "Mango"
        ]
    }
    2

Trong JSON, từ khóa luôn là chuỗi, trong khi giá trị có thể là một chuỗi, số, đúng hay sai, null hoặc thậm chí một đối tượng hoặc một mảng. Các chuỗi phải được đặt trong dấu ngoặc kép " và có thể chứa các ký tự thoát như \n, \t và \. Một đối tượng JSON có thể trông giống như sau

{
    "book": {
        "name": "Harry Potter and the Goblet of Fire",
        "author": "J. K. Rowling",
        "year": 2000,
        "genre": "Fantasy Fiction",
        "bestseller": true
    }
}

Trong khi một ví dụ về mảng JSON sẽ trông giống như sau

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

mẹo. Định dạng trao đổi dữ liệu là một đị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ẹ nhàng và phổ biến nhất cho các ứng dụng web

Phân tích cú pháp JSON với PHP

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

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

Mã hóa dữ liệu JSON bằng PHP

Trong PHP, hàm

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
6 được sử dụng để mã hóa một giá trị sang định dạng JSON. Giá trị đang đượ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, chẳng hạn như cơ sở dữ liệu hoặc tệp xử lý. Ví dụ dưới đây trình bày cách mã hóa một kết hợp PHP thành một đối tượng JSON

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

Kết quả của ví dụ trên sẽ giống như sau

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

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

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

Kết quả của ví dụ trên sẽ giống như sau

["Đỏ", "Xanh lục", "Xanh lam", "Cam", "Vàng"]

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

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
6 trả về một mảng được thiết 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"
    ]
}
10, như được hiển thị trong ví dụ dưới đây

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

Kết quả của ví dụ trên sẽ giống như sau

{"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 dưới dạng mảng hoặc đối tượng. Tuy nhiên, một mảng kết hợp luôn được mã hóa dưới dạng đối tượng

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

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

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
7 để chuyển đổi chuỗi được mã hóa JSON thành kiểu dữ liệu PHP thích hợp. Ví dụ sau đây trình bày 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"
    ]
}
2

Kết quả của ví dụ trên sẽ giống như sau

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"
    ]
}
7 trả về một đối tượng. Tuy nhiên, bạn có thể tùy chọn chỉ định tham số thứ hai $assoc chấp nhận giá trị boolean mà khi đối tượng được đặt là true JSON được giải mã thành các mảng kết hợp. It is false return by default. This is a ví dụ

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

Kết quả của ví dụ trên sẽ giống như sau

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

Bây giờ chúng ta 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"
    ]
}
0

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

{
    "fruits": [
        "Apple",
        "Banana",
        "Strawberry",
        "Mango"
    ]
}
13, như sau

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

Trích xuất 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ọn 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à tất cả các giá trị của nó trong PHP