Invalid JSON Format Handling Techniques

Error Handling এবং Exception Management - জেসন.সিম্পল (Json.Simple) - Java Technologies

311

Invalid JSON format হল একটি সাধারণ সমস্যা যখন JSON ডেটা ঠিকমতো ফরম্যাট করা না থাকে, অর্থাৎ, JSON স্ট্রিংটি সঠিক কাঠামো অনুসরণ করে না। JSON ফরম্যাটের সাধারণ ত্রুটিগুলি যেমন ভুল কোটেশন মার্ক, ভুল বা অনুপস্থিত কৌনিকা {} বা ব্র্যাকেট [], অপ্রত্যাশিত কমা, এবং অন্যান্য সিম্যান্টিক ত্রুটি সাধারণত দেখা যায়।

যখন Json.Simple লাইব্রেরি ব্যবহার করে JSON ডেটা প্যার্স (parse) করার চেষ্টা করা হয়, তখন ত্রুটিগুলি সঠিকভাবে হ্যান্ডেল করার জন্য কিছু কৌশল ব্যবহার করা যেতে পারে।

1. JSON Parsing Error Handling

Json.Simple লাইব্রেরির JSONParser ক্লাস ব্যবহার করে JSON স্ট্রিংকে JSONObject বা JSONArray তে রূপান্তর (parse) করা হয়। যদি JSON স্ট্রিংটি invalid (অবৈধ) হয়, তবে ParseException এর মতো ত্রুটি হতে পারে।

Handling Invalid JSON Format with Try-Catch

আপনি try-catch ব্লক ব্যবহার করে এই ত্রুটিগুলি হ্যান্ডেল করতে পারেন এবং প্রয়োজনে সংশোধন বা প্রপার ত্রুটি বার্তা প্রদান করতে পারেন।

Example: Handling Invalid JSON Format

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class InvalidJsonHandlingExample {
    public static void main(String[] args) {
        String invalidJsonString = "{ \"name\": \"John\", \"age\": 30, }";  // Invalid JSON (Extra comma)

        // JSONParser তৈরি করা
        JSONParser parser = new JSONParser();
        
        try {
            // Invalid JSON স্ট্রিং প্যার্স করার চেষ্টা করা
            JSONObject jsonObject = (JSONObject) parser.parse(invalidJsonString);

            // JSON Object থেকে মান বের করা
            String name = (String) jsonObject.get("name");
            long age = (long) jsonObject.get("age");

            System.out.println("Name: " + name);
            System.out.println("Age: " + age);

        } catch (ParseException e) {
            // Invalid JSON Format Error Handling
            System.out.println("Invalid JSON Format: " + e.getMessage());
        }
    }
}

Explanation:

  • এখানে, invalidJsonString তে একটি অতিরিক্ত কমা রয়েছে, যা একটি syntax error তৈরি করবে।
  • JSONParser এর parse মেথড এই ভুল JSON স্ট্রিংটি প্যার্স করার চেষ্টা করবে এবং ParseException এর মাধ্যমে ত্রুটি দেখাবে।
  • catch ব্লকটি এই ত্রুটিকে সঠিকভাবে হ্যান্ডেল করবে এবং একটি প্রপার ত্রুটি বার্তা দেখাবে।

Output:

Invalid JSON Format: unexpected token at '{ "name": "John", "age": 30, }'

2. Fixing Common Invalid JSON Errors

যখন invalid JSON ফরম্যাট থাকে, তখন সাধারণ কিছু ত্রুটি থাকে যা আপনি স্বয়ংক্রিয়ভাবে সনাক্ত এবং ঠিক করতে পারেন। যেমন:

  • অতিরিক্ত কমা: JSON অবজেক্ট বা অ্যারে এর শেষে অতিরিক্ত কমা থাকা।
  • মিসিং কোটেশন মার্ক: কোটেশন মার্কের অভাব।
  • কৌনিকা বা ব্র্যাকেটের ভুল অবস্থান: অবজেক্ট বা অ্যারে ভুলভাবে বন্ধ করা।

উদাহরণ: একটি extra comma ত্রুটি শনাক্ত ও সংশোধন করতে পারেন:

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class InvalidJsonFixExample {
    public static void main(String[] args) {
        String invalidJsonString = "{ \"name\": \"John\", \"age\": 30, }";  // Invalid JSON (Extra comma)

        // Extra comma ঠিক করা
        String correctedJsonString = invalidJsonString.replaceAll(", }", " }");

        // JSONParser তৈরি করা
        JSONParser parser = new JSONParser();
        
        try {
            // Fixed JSON স্ট্রিং প্যার্স করা
            JSONObject jsonObject = (JSONObject) parser.parse(correctedJsonString);

            // JSON Object থেকে মান বের করা
            String name = (String) jsonObject.get("name");
            long age = (long) jsonObject.get("age");

            System.out.println("Name: " + name);
            System.out.println("Age: " + age);

        } catch (ParseException e) {
            // Invalid JSON Format Error Handling
            System.out.println("Invalid JSON Format: " + e.getMessage());
        }
    }
}

Explanation:

  • এখানে, replaceAll মেথড ব্যবহার করে extra comma ত্রুটিটি সঠিকভাবে সংশোধন করা হয়েছে।
  • তারপর সংশোধিত JSON স্ট্রিং প্যার্স করা হয়েছে এবং সঠিক আউটপুট পাওয়া গেছে।

3. Detecting and Handling Missing or Incorrect Keys

JSON ডেটা প্যার্স করার সময় কখনও কখনও কী-মান পেয়ার অনুপস্থিত থাকে বা কিছু কী ভুল হয়। এই ধরনের সমস্যা হ্যান্ডেল করতে containsKey() বা get() মেথড ব্যবহার করা যেতে পারে।

Example: Handling Missing or Incorrect Keys

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class MissingKeyHandlingExample {
    public static void main(String[] args) {
        String jsonString = "{ \"name\": \"John\", \"age\": 30 }";  // Missing 'address'

        // JSONParser তৈরি করা
        JSONParser parser = new JSONParser();
        
        try {
            // JSON স্ট্রিং প্যার্স করা
            JSONObject jsonObject = (JSONObject) parser.parse(jsonString);

            // মান বের করার আগে কী চেক করা
            if (jsonObject.containsKey("address")) {
                String address = (String) jsonObject.get("address");
                System.out.println("Address: " + address);
            } else {
                System.out.println("Address key is missing.");
            }

        } catch (ParseException e) {
            // Invalid JSON Format Error Handling
            System.out.println("Invalid JSON Format: " + e.getMessage());
        }
    }
}

Output:

Address key is missing.

এখানে, containsKey() মেথড ব্যবহার করে address কী-এর উপস্থিতি পরীক্ষা করা হয়েছে। যদি কী অনুপস্থিত থাকে, তবে একটি উপযুক্ত বার্তা দেখানো হয়েছে।


4. JSON Data Validation

JSON ডেটা প্যার্স করার আগে আপনি JSON Schema ব্যবহার করে ডেটা ভ্যালিডেশন করতে পারেন। এটি JSON ডেটার কাঠামো এবং টাইপ নিশ্চিত করতে সাহায্য করবে। তবে, Json.Simple লাইব্রেরি সরাসরি JSON স্কিমা ভ্যালিডেশন সাপোর্ট করে না, তবে আপনি বাইরের লাইব্রেরি যেমন Jackson বা json-schema-validator ব্যবহার করে এটি বাস্তবায়ন করতে পারেন।

  1. Invalid JSON Format সাধারণত ত্রুটিপূর্ণ কোটেশন মার্ক, অতিরিক্ত কমা, মিসিং বা ভুল কৌনিকা ইত্যাদির কারণে ঘটে।
  2. Json.Simple লাইব্রেরি ব্যবহার করার সময় JSON ডেটা প্যার্স করার আগে সঠিকভাবে ত্রুটিগুলি try-catch ব্লক দিয়ে হ্যান্ডেল করতে হবে।
  3. Extra commas, missing keys, এবং incorrect keys চিহ্নিত এবং সঠিক করার জন্য কিছু সাধারণ কৌশল রয়েছে।
  4. ডেটা ভ্যালিডেশন এবং ফিক্সিং করার সময় replace বা containsKey() মেথড ব্যবহার করা যেতে পারে।
  5. JSON Schema ব্যবহার করে JSON ডেটা ফরম্যাট ভ্যালিডেশন নিশ্চিত করা যেতে পারে, তবে Json.Simple লাইব্রেরিতে এটি সরাসরি সাপোর্ট করা হয় না।

এই কৌশলগুলির মাধ্যমে আপনি invalid JSON এর সমস্যা সমাধান এবং ডেটা পার্সিংয়ের ক্ষেত্রে কোনো ত্রুটি মোকাবেলা করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...