Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड में JSONObject से JSON पार्स कैसे करें?

एंड्रॉइड में JSONObject का उपयोग करके JSON डेटा पार्स करना

org.json.JSONObject एंड्रॉइड का बिल्ट-इन JSON पार्सर है — किसी थर्ड-पार्टी लाइब्रेरी की ज़रूरत नहीं। यह छोटे-मध्यम JSON स्ट्रक्चर्स के लिए सरल और प्रभावी है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio → File → New → New Project → "Empty Activity" → Finish।

चरण 2: Layout (activity_main.xml)

एक सिंपल TextView जो पार्स्ड डेटा दिखाएगा:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:textSize="20sp"
        android:textStyle="bold"
        android:text="JSON डेटा यहां दिखेगा" />

</RelativeLayout>

चरण 3: MainActivity.java — JSON पार्सिंग लॉजिक

package com.example.jsonparsingdemo;

import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import org.json.JSONException;
import org.json.JSONObject;

public class MainActivity extends AppCompatActivity {

    private TextView textView;

    // सैंपल JSON स्ट्रिंग — वास्तविक ऐप में यह नेटवर्क/फाइल से आएगा
    private static final String JSON_STRING =
            "{\"Employee\":{\"Name\":\"Niyaz\",\"Salary\":56000}}";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);

        try {
            // रूट ऑब्जेक्ट पार्स करें
            JSONObject root = new JSONObject(JSON_STRING);

            // नेस्टेड "Employee" ऑब्जेक्ट निकालें
            JSONObject employee = root.getJSONObject("Employee");

            // फील्ड्स निकालें
            String name = employee.getString("Name");
            int salary = employee.getInt("Salary");

            // UI अपडेट करें
            String output = "कर्मचारी नाम: " + name + "\nवेतन: ₹" + salary;
            textView.setText(output);

        } catch (JSONException e) {
            e.printStackTrace();
            textView.setText("JSON पार्सिंग त्रुटि: " + e.getMessage());
        }
    }
}

चरण 4: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.jsonparsingdemo">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.JsonParsingDemo">

        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

चलाएं और टेस्ट करें

  1. ऐप चलाएं।
  2. स्क्रीन पर दिखेगा:
    कर्मचारी नाम: Niyaz
    वेतन: ₹56000

🔍 JSONObject के मुख्य मेथड्स

मेथडविवरणउदाहरण
getString(key)स्ट्रिंग मान लौटाता हैobj.getString("name")
getInt(key)इंटीजर मान लौटाता हैobj.getInt("age")
getDouble(key)डबल मान लौटाता हैobj.getDouble("price")
getBoolean(key)बूलियन मान लौटाता हैobj.getBoolean("active")
getJSONObject(key)नेस्टेड JSONObject लौटाता हैobj.getJSONObject("address")
getJSONArray(key)नेस्टेड JSONArray लौटाता हैobj.getJSONArray("items")
has(key)की मौजूद है या नहींobj.has("email")
optString(key, default)की न होने पर डिफ़ॉल्ट देता हैobj.optString("nickname", "N/A")

⚠️ सामान्य गलतियाँ और समाधान

  • JSONException: हमेशा try-catch में लपेटें।
  • Null मान: optString(), optInt() आदि का उपयोग करें ताकि क्रैश न हो।
  • बड़े JSON: मेमोरी बचाने के लिए Gson या Moshi जैसी लाइब्रेरीज़ बेहतर हैं।
  • नेटवर्क से JSON: कभी भी मेन थ्रेड पर नेटवर्क कॉल न करें — Coroutine, RxJava या AsyncTask (डिप्रिकेटेड) का उपयोग करें।

सारांश

JSONObject एंड्रॉइड में JSON पार्सिंग का सबसे सरल, जीरो-डिपेंडेंसी तरीका है। छोटे JSON के लिए यह परफेक्ट है। जटिल/बड़े डेटा के लिए Gson या Moshi (Kotlin के साथ) अधिक टाइप-सेफ और रखरखाव योग्य हैं।

  1. Android में ButterKnife लाइब्रेरी का उपयोग कैसे करें? Android में ButterKnife लाइब्रेरी का उपयोग कैसे करें?

    Android में ButterKnife से व्यू बाइंडिंग सरल बनाना ButterKnife एक व्यू बाइंडिंग लाइब्रेरी है जो findViewById() कॉल्स को एनोटेशन से बदल देती है। नोट: ButterKnife अब डिप्रिकेटेड है; आधुनिक ऐप्स के लिए View Binding (बिल्ट-इन) या Data Binding उपयोग करें। ⚠ डिप्रिकेटेड: Jake Wharton ने ButterKnife को म

  1. Android में JSON कैसे पार्स करें? Android में JSON कैसे पार्स करें?

    Android में JSONObject से सरल JSON पार्स करने का गाइड यह ट्यूटोरियल दिखाता है कि कैसे एक JSON स्ट्रिंग से JSONObject बनाकर नेस्टेड ऑब्जेक्ट्स से मान निकाले जाएं। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project चुनकर नया प्रोजेक्ट बनाएं। चरण 2: लेआउट फ़ाइल में कोड जोड़ें res/layout

  1. Android ऐप में Volley लाइब्रेरी से JSON कैसे पार्स करें? Android ऐप में Volley लाइब्रेरी से JSON कैसे पार्स करें?

    Volley लाइब्रेरी से JSON पार्सिंग यह उदाहरण दर्शाता है कि Google की Volley लाइब्रेरी का उपयोग करके नेटवर्क से JSON डेटा कैसे प्राप्त करें और पार्स करें। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project से प्रोजेक्ट बनाएं। चरण 2: build.gradle में Volley डिपेंडेंसी जोड़ें dependencie