Skip to main content

PHP

 How to validate JSON data in php 8.2 (earlier than PHP 8.3)?

Challenge: 

    If JSON is valid PHP will return associated array or std object against running json_decode($data) function. But, when receive invalid JSON it won't return associated array or std php object. So, i couldn't retrieve data from received string.

Perplexity suggestion: 

 1. First option


    if ($data === '' || ($decoded = json_decode($data, false)) === null && json_last_error() !== JSON_ERROR_NONE) {
    	echo "Invalid JSON";
    }
   

2. Second option


   try {
   	$decoded = json_decode($data, false, 512, JSON_THROW_ON_ERROR);
   } catch (JsonException $e) {
	echo "error messege".$e->getMessage();
   }
   

3. Third option 


function isValidJson(string $data): bool { json_decode($data); return json_last_error() === JSON_ERROR_NONE; }
 

These three option not worked. Means first option not returned "Invalid JSON"and second option not throw error.like that third option also not return false. After few time, i realized if json is invalid json_decode($JSON); functionreturn only string so i just check what is the return value data type and responded client to invalid json (4XX) error.

Comments

Popular posts from this blog

PHP can run AI models - no need Python

 Objective:     Run AI models only using php. Now this is possible with  https://github.com/CodeWithKyrian/transformers-php  this library. I have tried object detection and question answering using this library. Technology:       1.  PHP 8.2 Initialization:     Guide -  https://transformers.codewithkyrian.com/getting-started 1. Initialize project by composer init cmd. 2. Install transformer library by  composer require codewithkyrian/transformers cmd. 3. Enable ffi extention in php.ini       extension = ffi      ffi.enable = true 4. Enable opcache      opcache.jit = tracing 5. Increase memory limit      memory_limit = 512M I. Object detection: ( https://transformers.codewithkyrian.com/object-detection )     Object detection can improve web application perspective . Example:  Retail applications can speed up checkout by automatically recognizing ...

From C to Assembly: Blinking an LED the Hard Way

  From C to Assembly: Blinking an LED the Hard Way ~4 hours of digging, one blinking LED, and a much better mental model of what "compiling" actually means. The Inspiration I've been programming since 2017 — variables, control flow, HTTP, web apps, the usual path. But I kept coming back to something Linus Torvalds said: that the compiler writes 100% of the code. I wanted to actually understand what that meant before taking it for granted. So I went looking for the layer beneath the code I usually write: binary → hexadecimal opcodes → assembly → C. I wanted to see the whole stack, not just use the top of it. What I Tried I already knew my way around the Arduino IDE for uploading compiled sketches. While researching, I found out you could write raw hex machine code directly for the Arduino — but the resources I found were too dense to follow. So I stepped back one level, to assembly. Searching further, I found a YouTube channel with an Arduino-assembly series. I copi...

IVR or SMS based navigation for smart phone not education equipped people

Problem statement:    On Thursday morning (16-10-2025) i went for walking near Perungudi in chennai. There, i was saw a truck driver he notes the address and has some navigation landmarks. But, he hesitate to follow the navigation due to every day development of chennai. He asked me if you know this location. I said , i don't know but, you may follow the map. He said I have dial pad phone no map in it. So, I was traveled with the track to reach the place used by google map. Then , I realised many Indian old people causing this problem and some poor internet place also. Solution:    If some one know where they are or say some landmark through mobile like 198 (AI). It should say their location on voice call and if they want navigation to some places it should create session with say the navigation tips. It will recall them to ensure they are going correct path. Predictable problems:    1. Voice call or sms not encrypted it may tab by middle one to give wrong ...