April 29, 2025 - 22:51
Using JSON API with PHP and Fetching Data Image
PHP

Using JSON API with PHP and Fetching Data

Comments

APIs are one of the most important tools for enabling data exchange between different systems in web development. JSON (JavaScript Object Notation) is the most commonly used format for sending and receiving data via APIs. With PHP, you can fetch JSON data from an external API and process it for use in your web projects.

In this article, I will explain how to use JSON APIs with PHP, how to fetch data, and methods for processing it.


1. Using JSON Data Format in PHP

PHP offers built-in functions like json_encode() and json_decode() for creating and processing JSON data.

JSON Encode (Convert PHP Array to JSON)

PHP
$data = array(
    'isim' => 'Ahmet',
    'yas' => 30,
    'meslek' => 'Yazılım Geliştirici'
);

$jsonVeri = json_encode($data, JSON_PRETTY_PRINT);
echo $jsonVeri;
  • Output:
JSON
{
    'isim': 'Ahmet',
    'yas': 30,
    'meslek': 'Yazılım Geliştirici'
}

JSON Decode (Convert JSON Data to PHP Array)

PHP
$jsonVeri = '{"isim":"Ahmet","yas":30,"meslek":"Yazılım Geliştirici"}';
$phpDizisi = json_decode($jsonVeri, true);

print_r($phpDizisi);
  • Output:
PHP
Array (
    [isim] => Ahmet
    [yas] => 30
    [meslek] => Yazılım Geliştirici
)

2. Fetching JSON Data from External API with PHP

To fetch data from an API in PHP, you can use methods like cURL (Client URL Request Library) or file_get_contents().

Fetching JSON Data from a Simple API (file_get_contents)

PHP
$url = 'https://api.exchangerate-api.com/v4/latest/USD';
$jsonVeri = file_get_contents($url);
$data = json_decode($jsonVeri, true);

echo '1 USD = ' . $data['rates']['EUR'] . ' EUR';
  • This code fetches the USD to EUR exchange rate.

3. Fetching Data from API Using cURL in PHP

The file_get_contents() method is suitable for simple queries, but cURL is used for APIs that require authentication.

Making a GET Request with cURL

PHP
$apiUrl = 'https://jsonplaceholder.typicode.com/posts/1';
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);
  • This code fetches a specific post from a JSON API.

Making a POST Request with cURL

PHP
$apiUrl = 'https://jsonplaceholder.typicode.com/posts';
$data = array('title' => 'Yeni Gönderi', 'body' => 'Bu bir test gönderisidir', 'userId' => 1);
$jsonData = json_encode($data);

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
  • This code adds a new post to the API.

4. Using APIs with Authentication in PHP

Some APIs require API Key or Bearer Token for access.

Authentication with cURL

PHP
$apiUrl = 'https://api.example.com/protected-data';
$apiKey = 'YOUR_API_KEY';

$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer $apiKey'));

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);
  • This code makes an authorized request using an API key.

5. Error Handling and Security in JSON API Usage

When fetching data from APIs, it is crucial to handle errors and ensure security.

Error Handling with cURL

PHP
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
} else {
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode == 200) {
        $data = json_decode($response, true);
        print_r($data);
    } else {
        echo 'API request failed: HTTP Code $httpCode';
    }
}
curl_close($ch);
  • This code checks for errors from the API and validates HTTP response codes.

Using JSON APIs with PHP is a critical skill for managing data exchange and creating dynamic applications.

With this information, you can build stronger applications integrating PHP and JSON APIs!

Related Articles

Comments ()

No comments yet. Be the first to comment!

Leave a Comment