Home > PHP Framework > Laravel > Summarize the JSON format conversion method in laravel

Summarize the JSON format conversion method in laravel

PHPz
Release: 2023-04-03 19:30:56
Original
1375 people have browsed it

Laravel is a popular PHP web development framework that provides many features out of the box, including support for JSON data. This article explains how to convert JSON in Laravel.

JSON Introduction

JSON (JavaScript Object Notation) is a lightweight data exchange format. It is based on the JavaScript language but can be used in other programming languages ​​as well. The JSON data format is straightforward and easy to read and write. It consists of a series of key-value pairs, with colons separating keys and values, and key-value pairs separated by commas. Use curly braces {} to enclose a set of key-value pairs, and use square brackets [] to enclose an array.

The following is an example of JSON data:

{
  "name": "John",
  "age": 30,
  "city": "New York",
  "hobbies": ["reading", "traveling", "hiking"]
}
Copy after login

JSON conversion in Laravel

In Laravel, you can use PHP's json_encode() and json_decode() Function to convert JSON data. The json_encode() function converts a PHP array or object to a JSON-formatted string, while the json_decode() function converts a JSON-formatted string to a PHP array or object.

The following is an example of converting a PHP array to JSON:

$data = [
    'name' => 'John',
    'age' => 30,
    'city' => 'New York',
    'hobbies' => ['reading', 'traveling', 'hiking']
];

$json = json_encode($data);

echo $json;
Copy after login

The output result is:

{"name":"John","age":30,"city":"New York","hobbies":["reading","traveling","hiking"]}
Copy after login

In Laravel, it is often necessary to convert data in the database to JSON Format. Laravel's Eloquent model provides toJson() and toArray() methods to easily convert the model into JSON data.

The following is an example of converting an Eloquent model to JSON:

$user = User::find(1);

$json = $user->toJson();

echo $json;
Copy after login

The output result is:

{"id":1,"name":"John","email":"john@example.com","created_at":"2022-02-22T08:00:00.000000Z","updated_at":"2022-02-22T08:00:00.000000Z"}
Copy after login

Control the output format of JSON

In Laravel , you can control the JSON output format by setting the JSON_PRETTY_PRINT parameter. The JSON_PRETTY_PRINT parameter is used to format and indent the output JSON to make it easier to read. The following is an example using the JSON_PRETTY_PRINT parameter:

$data = [
    'name' => 'John',
    'age' => 30,
    'city' => 'New York',
    'hobbies' => ['reading', 'traveling', 'hiking']
];

$json = json_encode($data, JSON_PRETTY_PRINT);

echo $json;
Copy after login

The output result is:

{
    "name": "John",
    "age": 30,
    "city": "New York",
    "hobbies": [
        "reading",
        "traveling",
        "hiking"
    ]
}
Copy after login

Use the Blade template engine to output JSON

In Laravel, you can Use the Blade template engine to output data in JSON format. In Blade templates, you can use the @json directive to convert a PHP array or object to JSON format. Here is an example of outputting JSON in a Blade template:

<script>
    var data = @json($data);
</script>
Copy after login

Summary

In this article, we learned how to convert JSON data in Laravel. You can use PHP's json_encode() and json_decode() functions to convert PHP arrays or objects into JSON format strings, or you can use the Eloquent model's toJson()# The ## and toArray() methods convert the model into JSON data. You can control the output format of JSON by setting the JSON_PRETTY_PRINT parameter. In the Blade template engine, you can use the @json directive to output JSON format data.

The above is the detailed content of Summarize the JSON format conversion method in laravel. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template