• Skip to main content
  • Skip to primary sidebar

CodeBlogMoney

Make Money using Coding and Blogging

You are here: Home / PHP / Validate JSON String Using PHP

Validate JSON String Using PHP

November 23, 2016 by Jimmy

This article is about to validate JSON String using PHP. JSON is the popular data format to transfer data between client and server. There are many JSON validators are available online such as JSON Validator and JSON Validator on CodeBeautify to validate JSON.

As a programmer, I am curious to know how these tools are working. Here I am going to explain.

json_decode() is the function which is been introduce in PHP 5.3 to validate JSON String.

About json_decode

Here is the description is given in PHP specification.

mixed json_decode ( string [, bool = false [, int = 512 [, int = 0 ]]] )

This function takes a JSON encoded the string and converts it into a PHP variable.

Validate JSON String Using PHP

Here is the function which works as JSON Validator.

//JSON Validator function
function json_validator($data=NULL) {

  if (!empty($data)) {

                @json_decode($data);

                return (json_last_error() === JSON_ERROR_NONE);

        }

        return false;
}

Let’s see how does this work.

if (!empty($data))

This condition will check the $data variable is not empty. If $data is empty, then it will return false.

@json_decode($data)

json_decode parses the data and return the PHP variable if the string is valid. If the string is not valid it will generate the error. Character “@” will suppress the error.

return (json_last_error() === JSON_ERROR_NONE);

This will check if $data is valid JSON string by comparing with JSON_ERROR_NONE. json_last_error() return the last error when json_decode() has called if there are any.

Here is the Example of Validating JSON data.

<?php
//JSON Validator function
function json_validator($data=NULL) {

  if (!empty($data)) {

                @json_decode($data);

                return (json_last_error() === JSON_ERROR_NONE);

        }

        return false;
}


//valid JSON Data
/*
 {
  "actors": {
    "actor": [
      {
        "id": "1",
        "firstName": "Tom",
        "lastName": "Cruise"
      }
    ]
  }
}
 */

$sampleJSONData1 = '{"actors":{"actor":[{"id":"1","firstName":"Tom","lastName":"Cruise"}]}}' ;


//invalid JSON Data
/*
 {
    {
    "actor": [
      {
        "id": "1",
        "firstName": "Tom",
        "lastName": "Cruise"
      }
    ]
  }
}
 */

echo "Result for sampleJSONData1: ";
echo (json_validator($sampleJSONData1) ? "JSON is Valid" : "JSON is Not Valid");

echo "</br>";
echo "Result for sampleJSONData2: ";
echo (json_validator($sampleJSONData2) ? "JSON is Valid" : "JSON is Not Valid");

Related Articles:

Validate JSON String using JavaScript

Filed Under: PHP, Problem Solving Tagged With: json, php, Validate, Validate JSON String using php

Primary Sidebar

Categories

  • Blogging
  • HTML
  • Java
  • JavaScript
  • jQuery
  • JSON
  • MySql
  • Performance
  • PHP
  • Problem Solving
  • Python
  • Testing
  • XML

Copyright © 2021 · Metro Pro on Genesis Framework · WordPress · Log in