Cách thay đổi giá trị trong đối tượng json trong php?

Khi xây dựng API bằng Laravel, bạn thường cần chuyển đổi các mô hình và mối quan hệ của mình thành mảng hoặc JSON. Eloquent bao gồm các phương thức thuận tiện để thực hiện các chuyển đổi này, cũng như kiểm soát các thuộc tính nào được đưa vào biểu diễn tuần tự hóa các mô hình của bạn

Lưu ý
Để có cách xử lý tuần tự hóa JSON của bộ sưu tập và mô hình Eloquent hiệu quả hơn nữa, hãy xem tài liệu về tài nguyên API của Eloquent.

Sê-ri hóa Mô hình & Bộ sưu tập

Tuần tự hóa thành mảng

Để chuyển đổi một mô hình và các mối quan hệ được tải của nó thành một mảng, bạn nên sử dụng phương thức

return $user->attributesToArray[];

4. Phương thức này là đệ quy nên tất cả các thuộc tính và tất cả các quan hệ [bao gồm cả quan hệ của các quan hệ] sẽ được chuyển thành mảng

$user = User::with['roles']->first[];

Phương thức

return $user->attributesToArray[];

5 có thể được sử dụng để chuyển đổi các thuộc tính của mô hình thành một mảng chứ không phải các mối quan hệ của nó

return $user->attributesToArray[];

Bạn cũng có thể chuyển đổi toàn bộ bộ sưu tập mô hình thành mảng bằng cách gọi phương thức

return $user->attributesToArray[];

4 trên cá thể bộ sưu tập

Tuần tự hóa thành JSON

Để chuyển đổi một mô hình thành JSON, bạn nên sử dụng phương thức

return $user->attributesToArray[];

7. Giống như

return $user->attributesToArray[];

4, phương thức của

return $user->attributesToArray[];

7 là đệ quy nên tất cả các thuộc tính và quan hệ sẽ được chuyển thành JSON. Bạn cũng có thể chỉ định bất kỳ tùy chọn mã hóa JSON nào được hỗ trợ bởi PHP

________số 8

Ngoài ra, bạn có thể chuyển một mô hình hoặc bộ sưu tập thành một chuỗi, chuỗi này sẽ tự động gọi phương thức

return $user->attributesToArray[];

7 trên mô hình hoặc bộ sưu tập

$user = User::with['roles']->first[];

0

Vì các mô hình và bộ sưu tập được chuyển đổi thành JSON khi truyền thành chuỗi, nên bạn có thể trả về các đối tượng Eloquent trực tiếp từ các route hoặc bộ điều khiển của ứng dụng của mình. Laravel sẽ tự động tuần tự hóa các mô hình và bộ sưu tập Eloquent của bạn thành JSON khi chúng được trả về từ các tuyến đường hoặc bộ điều khiển

$user = User::with['roles']->first[];

1

Các mối quan hệ

Khi một Eloquent model được chuyển đổi thành JSON, các mối quan hệ được tải của nó sẽ tự động được đưa vào làm thuộc tính trên đối tượng JSON. Ngoài ra, mặc dù các phương thức của mối quan hệ Eloquent được xác định bằng tên phương thức "trường hợp lạc đà", thuộc tính JSON của mối quan hệ sẽ là "trường hợp rắn"

Ẩn các thuộc tính khỏi JSON

Đôi khi, bạn có thể muốn giới hạn các thuộc tính, chẳng hạn như mật khẩu, được bao gồm trong biểu diễn mảng hoặc JSON của mô hình của bạn. Để làm như vậy, hãy thêm thuộc tính

return $user->toJson[JSON_PRETTY_PRINT];

1 vào mô hình của bạn. Các thuộc tính được liệt kê trong mảng của thuộc tính

return $user->toJson[JSON_PRETTY_PRINT];

1 sẽ không được đưa vào biểu diễn tuần tự của mô hình của bạn

$user = User::with['roles']->first[];

4

Lưu ý
Để ẩn mối quan hệ, hãy thêm tên phương thức của mối quan hệ vào thuộc tính

return $user->toJson[JSON_PRETTY_PRINT];

1 của mô hình Eloquent của bạn.

Ngoài ra, bạn có thể sử dụng thuộc tính

return $user->toJson[JSON_PRETTY_PRINT];

4 để xác định "danh sách cho phép" các thuộc tính sẽ được đưa vào biểu diễn JSON và mảng của mô hình của bạn. Tất cả các thuộc tính không có trong mảng

return $user->toJson[JSON_PRETTY_PRINT];

5 sẽ bị ẩn khi mô hình được chuyển đổi thành mảng hoặc JSON

$user = User::with['roles']->first[];

8

Tạm thời sửa đổi thuộc tính khả năng hiển thị

Nếu bạn muốn hiển thị một số thuộc tính thường ẩn trên một phiên bản mô hình nhất định, bạn có thể sử dụng phương thức

return $user->toJson[JSON_PRETTY_PRINT];

6. Phương thức

return $user->toJson[JSON_PRETTY_PRINT];

6 trả về thể hiện của mô hình

return $user->attributesToArray[];

1

Tương tự như vậy, nếu bạn muốn ẩn một số thuộc tính thường hiển thị, bạn có thể sử dụng phương pháp

return $user->toJson[JSON_PRETTY_PRINT];

8

return $user->attributesToArray[];

3

Nối các giá trị vào JSON

Đôi khi, khi chuyển đổi mô hình thành mảng hoặc JSON, bạn có thể muốn thêm các thuộc tính không có cột tương ứng trong cơ sở dữ liệu của mình. Để làm như vậy, trước tiên hãy xác định một bộ truy cập cho giá trị

return $user->attributesToArray[];

4

Sau khi tạo trình truy cập, hãy thêm tên thuộc tính vào thuộc tính

return $user->toJson[JSON_PRETTY_PRINT];

9 của mô hình của bạn. Lưu ý rằng các tên thuộc tính thường được tham chiếu bằng cách sử dụng biểu diễn tuần tự "trường hợp rắn" của chúng, mặc dù phương thức PHP của trình truy cập được xác định bằng cách sử dụng "trường hợp lạc đà"

return $user->attributesToArray[];

0

Khi thuộc tính đã được thêm vào danh sách

return $user->toJson[JSON_PRETTY_PRINT];

9, nó sẽ được đưa vào cả biểu diễn mảng và JSON của mô hình. Các thuộc tính trong mảng

return $user->toJson[JSON_PRETTY_PRINT];

9 cũng sẽ tôn trọng cài đặt

return $user->toJson[JSON_PRETTY_PRINT];

4 và

$user = User::with['roles']->first[];

03 được định cấu hình trên mô hình

Xuất hiện tại thời gian chạy

Khi chạy, bạn có thể hướng dẫn một phiên bản mô hình nối thêm các thuộc tính bổ sung bằng cách sử dụng phương thức

$user = User::with['roles']->first[];

04. Hoặc, bạn có thể sử dụng phương thức

$user = User::with['roles']->first[];

05 để ghi đè toàn bộ mảng các thuộc tính được nối thêm cho một phiên bản mô hình nhất định

return $user->attributesToArray[];

1

Số sê-ri hóa ngày

Tùy chỉnh định dạng ngày mặc định

Bạn có thể tùy chỉnh định dạng tuần tự hóa mặc định bằng cách ghi đè phương thức

$user = User::with['roles']->first[];

06. Phương pháp này không ảnh hưởng đến cách định dạng ngày của bạn để lưu trữ trong cơ sở dữ liệu

return $user->attributesToArray[];

2

Tùy chỉnh định dạng ngày cho mỗi thuộc tính

Bạn có thể tùy chỉnh định dạng tuần tự hóa của các thuộc tính ngày Eloquent riêng lẻ bằng cách chỉ định định dạng ngày trong khai báo truyền của mô hình

Làm cách nào để thay thế giá trị khóa JSON trong PHP?

Cung cấp một mảng JSON và một mảng chứa các giá trị để thay thế. Tạo một thể hiện của cuộc gọi FindAndReplaceJson thay thế và chuyển vào mảng JSON và mảng các giá trị thay thế. JSON được trả về với các giá trị được thay thế. Các khóa cũng có thể được thay thế bằng cách chỉ định các khóa được đặt tên trong mảng $replaces .

Làm cách nào để truy cập giá trị 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 để truyền dữ liệu qua JSON trong PHP?

Ví dụ được giải thích. .
Xác định một đối tượng chứa thuộc tính và giá trị "giới hạn"
Chuyển đổi đối tượng thành chuỗi JSON
Gửi yêu cầu tới tệp PHP, với chuỗi JSON làm tham số
Đợi cho đến khi yêu cầu trả về với kết quả [dưới dạng JSON]
Hiển thị kết quả nhận được từ tệp PHP

Chủ Đề