Android - JSON फ़ाइल से डेटा कैसे पढ़ें और लिखें (पार्स करें)?

एंड्रॉइड में JSON फ़ाइल में उपलब्ध डेटा कैसे डालें, अपडेट करें और हटाएं?

एंड्रॉइड सिस्टम या स्थानीय भंडारण के भीतर ऐप डेटा से निपटने के कई तरीके प्रदान करता है। हम सिस्टम के आंतरिक या बाह्य संग्रहण में उपलब्ध निर्देशिका में डेटा के ऐप-विशिष्ट भंडारण के साथ काम करने जा रहे हैं।

ऐप-विशिष्ट भंडारण

  • इंटरनल स्टोरेज: सेंसिटिव डेटा, कोई अन्य एप्लिकेशन इसे एक्सेस नहीं करता है।
  • बाहरी संग्रहण: अन्य एप्लिकेशन इसे छवियों की तरह एक्सेस कर सकते हैं।

हम क्या करने जा रहे हैं ?

हम एक JSON फाइल जेनरेट करेंगे, जिसे एप्लीकेशन के इंटरनल स्टोरेज में स्टोर किया जाएगा। Android एप्लिकेशन से उपयोगकर्ता (WRITE) डेटा जोड़ देगा, जिसे JSON प्रारूप (JSON ऑब्जेक्ट) में परिवर्तित किया जाएगा और फिर JSON फ़ाइल में संग्रहीत किया जाएगा।

हम JSON फ़ाइल से डेटा एक्सेस (READ) करेंगे और इसे स्ट्रिंग, सरणियों आदि जैसे एप्लिकेशन उपयोगी प्रारूप में परिवर्तित किया जाएगा।

हम JSON फ़ाइल से डेटा का अद्यतन भी करेंगे और इसे JSON फ़ाइल में वापस सहेजेंगे।

हम JSON फ़ाइल डेटा / ऑब्जेक्ट पर DELETION ऑपरेशन भी करेंगे।

  1. JSON फ़ाइल में डेटा लिखें: -
एप्लिकेशन से डेटा प्राप्त करें

डेटा को जावा ऑब्जेक्ट के रूप में लिया जाएगा और JSON फ़ाइल में स्थानांतरित किया जाएगा।

JSON पार्सिंग के लिए डेटा का प्रवाह

जावा-ऑब्जेक्ट को JsonObject को पास किया जाएगा, जो जावा ऑब्जेक्ट को JsonObject में बदल देगा जिसका अर्थ है कि मूल्य अब एक कुंजी के साथ जुड़ा हुआ है क्योंकि JSON कुंजी-मूल्य जोड़े के रूप में काम करता है।

JSONObject jsonObject = नया JSONObject (); jsonObject.put ("नाम", नाम); jsonObject.put ("Enroll_No", नामांकन संख्या); jsonObject.put ("मोबाइल", मोबाइल); jsonObject.put ("पता", पता); jsonObject.put ("शाखा", शाखा); वापसी jsonObject;

अब हम इस JsonObject को हमारी JSON फाइल में इंटरनल स्टोरेज पर उपलब्ध रखेंगे, इसके लिए हमें पथ को परिभाषित करने की आवश्यकता है और फिर हम JSON ऑब्जेक्ट को String में .Json फ़ाइल के रूप में संग्रहीत करेंगे।

// कन्वर्ट JsonObject स्ट्रिंग को प्रारूप करने के लिए String userString = JsonObject.toString ();
// फ़ाइल पथ और उसके नाम फ़ाइल फ़ाइल को परिभाषित करें = नई फ़ाइल (संदर्भ .getFilesDir (), FILE_NAME); FileWriter fileWriter = new FileWriter (file); बफ़रडाइवर बफ़रडवेयर = नया बफ़रड्राइवर (फ़ाइलविटर); bufferedWriter.write (userString); bufferedWriter.close ();

इस बिंदु पर, डेटा JSON फ़ाइल में दर्ज किया गया है। मैं यह कैसे देख सकता हूं कि डेटा को Android Studio → डिवाइस फ़ाइल एक्सप्लोरर में स्थानांतरित किया गया है।

Contect.getFilesDir 'फ़ाइलें' फ़ोल्डर में संग्रहीत करेगा

JSON फ़ाइल में डेटा इस तरह संग्रहीत होगा: -

{"नाम": "राम वर्मा", "एनरोल_नो": "160760120546", "मोबाइल": "8989898989", "पता": "सहज समाज", "शाखा": "ईसी"} "

2. JSON FILE से डेटा पढ़ें: -

अब हमें JSON फ़ाइल में उपलब्ध डेटा को एक्सेस करना होगा।

फ़ाइल फ़ाइल = नई फ़ाइल (संदर्भ .getFilesDir (), FILE_NAME);
FileReader fileReader = नया FileReader (फ़ाइल); बफ़रडेडर बफ़रड्रेडर = नया बफ़रडर (फ़ाइलरेडर); StringBuilder stringBuilder = नया StringBuilder (); स्ट्रिंग लाइन = बफ़रडेडरएडर.लाइन (); जबकि (लाइन! = null) {stringBuilder.append (लाइन) .append ("\ n"); लाइन = बफ़रड्रेडर.डरलाइन (); } बफ़रड्रेडर। क्लोज़ ();
// इस रिस्पांस में Json Format String String रिस्पांस = stringBuilder.toString () होगा;

यह रिस्पॉन्स स्ट्रिंग जर्सन फॉर्मेट में उपलब्ध है, लेकिन हमें इसे जावा ऑब्जेक्ट फॉर्म में एक्सेस करना होगा ताकि हम इसे अपने आवेदन में जहां चाहें वहां लागू कर सकें।

इसलिए हमें कुंजी का उपयोग करके रिस्पॉन्स (स्ट्रिंग) में डेटा प्राप्त करना होगा और उन मूल्य को हमारे जावा ऑब्जेक्ट को असाइन करना होगा।

JSONObject jsonObject = नया JSONObject (प्रतिक्रिया);
// जावा वस्तु .get ("पता")। toString (), jsonObject.get ("शाखा")। toString ());
वापसी javaObject;

अब हम इस javaObject पर पहुँच सकते हैं और इसका मान है जो JSON फ़ाइल में संग्रहीत था।

javaObject डेटा सूची पर प्रदर्शित होता है

3. JSON FILE में डेटा को अपडेट और डिलीट करें: -

दिए गए डेटा को संपादित करें और इसे JSON फ़ाइल में सहेजें

अब यह अपडेटेड जावा ऑब्जेक्ट फिर से JSON फाइल पर WRITE ऑपरेशन (रिपीट स्टेप 1) करते हैं और जब हम फाइल से जेन्स ऑब्जेक्ट दोहराते हैं तो एडिटेड डेटा (रिपीट स्टेप 2) पढ़ते हैं।

DELETE वर्तमान ऑब्जेक्ट को हटा देगा और चरण 1 और चरण 2 प्रक्रिया निष्पादित करेगा।

अब हम जो चाहें डेटा प्रदर्शित कर सकते हैं…

जावा ऑब्जेक्ट डेटा सूची प्रारूप में प्रदर्शित होता है