Metlivi ब्लॉग

डे वन (Day One) JSON एक्सपोर्ट को बिना बदले ऑफ़लाइन कैसे पढ़ें

डे वन एक्सपोर्ट का निरीक्षण करने के लिए, डाउनलोड की गई ZIP को अपरिवर्तित रखें, एक अलग वर्किंग कॉपी बनाएं, इसे स्थानीय रूप से एक्सट्रैक्ट करें, और एक टेक्स्ट एडिटर या पायथन के मानक JSON टूल्स के साथ `.json` फ़ाइल खोलें। ZIP एक कंटेनर है; JSON संरचित टेक्स्ट है; कोई भी मीडिया फ़ोल्डर अलग फ़ाइलों को रखता है। आप यह जांच सकते हैं कि क्या JSON सिंटैक्स मान्य है और अनिर्दिष्ट कीज़ के अर्थ का अनुमान लगाए बिना संभावित टेक्स्ट, दिनांक या अटैचमेंट मानों का पता लगा सकते हैं। केवल पढ़ने योग्य JSON यह नहीं दर्शाता है कि प्रत्येक मीडिया फ़ाइल मौजूद है या संग्रह (आर्काइव) को पुनर्स्थापित किया जा सकता है।

30 सितंबर 20264 मिनट में पढ़ेंरोज़मर्रा का सौंदर्य और आत्म-अभिव्यक्तिलेखक: Metlivi Editorial Team
खंड 1

पहले ZIP, JSON और मीडिया में अंतर करें

डे वन अपने JSON एक्सपोर्ट को एक ZIP के रूप में वर्णित करता है जिसमें चुनी गई प्रविष्टियों वाली एक `.json` फ़ाइल होती है; फ़ोटो, वीडियो, ऑडियो और PDF के फ़ोल्डरों में मीडिया शामिल हो सकता है। गाइड कहता है कि JSON का उद्देश्य संग्रहीत डेटा को पुनः आयात करना है और इसे डे वन तथा डे वन JSON फ़ाइलों का समर्थन करने वाले ऐप्स द्वारा पढ़ा जा सकता है। [डे वन की एक्सपोर्ट गाइड](https://dayoneapp.com/guides/tips-and-tutorials/exporting-entries/) एक संपूर्ण फ़ील्ड-दर-फ़ील्ड स्कीमा को परिभाषित नहीं करती है, इसलिए किसी परिचित दिखने वाले फ़ाइल नाम या की (key) को उसके अर्थ के प्रमाण के रूप में न मानें।

मूल ZIP को अछूता रखें। एक नए स्थानीय फ़ोल्डर में एक प्रतिलिपि निकालने के लिए अपने ऑपरेटिंग सिस्टम के आर्काइव टूल का उपयोग करें। किसी व्यक्तिगत जर्नल को ऑनलाइन फ़ॉर्मेटर पर अपलोड करने से बचें। फ़ाइलें खोलने या स्थानांतरित करने से पहले, ध्यान दें कि क्या संग्रह में एक JSON फ़ाइल है, एक से अधिक हैं, या मीडिया फ़ोल्डर हैं; सटीक सामग्री एक्सपोर्ट विकल्पों पर निर्भर करती है। `.zip` को ऐसे खोलना जैसे कि वह JSON हो, विफल हो जाएगा क्योंकि ZIP एक अलग फ़ाइल फ़ॉर्मेट है।

खंड 2

स्थानीय स्तर पर JSON सिंटैक्स की जाँच करें

JSON दस्तावेज़ संरचित मानों का वर्णन करने वाला टेक्स्ट है। शीर्ष स्तर एक ऑब्जेक्ट, ऐरे या अन्य मान्य JSON मान हो सकता है; JSON ऑब्जेक्ट्स में नामित सदस्य होते हैं, जबकि ऐरे में क्रमित मान होते हैं। स्ट्रिंग्स दोहरे उद्धरण चिह्नों (double quotes) का उपयोग करती हैं, और कॉमा, कोलन और ब्रैकेट को JSON सिंटैक्स का पालन करना चाहिए। [MDN की JSON गाइड](https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Scripting/JSON) इन संरचनाओं और सामान्य सिंटैक्स प्रतिबंधों की व्याख्या करती है।

त्वरित स्थानीय जाँच और पठनीय इंडेंटेशन के लिए, पायथन इस कमांड-लाइन फॉर्म का दस्तावेजीकरण करता है:

`python3 -m json.tool < journal.json`

अपनी एक्सट्रैक्ट की गई फ़ाइल के पथ (path) के साथ कमांड का उपयोग करें, और आउटपुट को केवल तभी एक नई फ़ाइल में पुनर्निर्देशित करें जब आप एक अलग प्रिटी-प्रिंटेड कॉपी चाहते हों। पार्सिंग सफल होने पर कमांड स्वरूपित (फ़ॉर्मेटेड) JSON प्रिंट करता है; यदि पार्सिंग विफल हो जाती है, तो पायथन एक त्रुटि स्थान की रिपोर्ट करता है। एक सफल पार्स का अर्थ है कि टेक्स्ट पार्सर के लिए मान्य JSON है। यह स्थापित नहीं करता है कि फ़ाइल पूर्ण है, इसके मानों के वही अर्थ हैं जो आप उम्मीद करते हैं, या डे वन इसे आयात कर सकता है। [पायथन का `json` दस्तावेज़](https://docs.python.org/3/library/json.html) किसी फ़ाइल या स्ट्रिंग को पढ़ने के लिए `json.load()` और `json.loads()` का भी दस्तावेजीकरण करता है।

खंड 3

दस्तावेज़ का वास्तविक आकार ढूंढें

पहले गैर-व्हाट्सस्पेस वर्ण से प्रारंभ करें। एक प्रारंभिक `{` एक ऑब्जेक्ट को इंगित करता है; `[` एक ऐरे को इंगित करता है। एक स्वरूपित प्रतिलिपि में, बाहरी स्तर का विस्तार करें और सदस्य नामों और मान प्रकारों का निरीक्षण करें। ऐरे में ऑब्जेक्ट हो सकते हैं; उन ऑब्जेक्ट्स में ऐरे या नेस्टेड ऑब्जेक्ट हो सकते हैं। बार-बार दोहराए जाने वाले ऑब्जेक्ट आकार आपको संभावित प्रविष्टि रिकॉर्ड खोजने में मदद कर सकते हैं, लेकिन केवल दोहराव ही एक्सपोर्टर के अभीष्ट स्कीमा को साबित नहीं करता है।

टेक्स्ट में उस वाक्यांश को खोजें जिसके बारे में आप जानते हैं कि वह किसी प्रविष्टि में दिखाई देता है, फिर आस-पास के ब्रेसेस और मानों का निरीक्षण करें। किसी अनुमान के आधार पर नाम बदलने के बजाय मान के पास सटीक की (key) दर्ज करें। जो मान दिनांक जैसा दिखता है वह एक संभावित दिनांक हो सकता है; एक स्ट्रिंग जो किसी पथ से मिलती-जुलती है, एक संभावित अटैचमेंट संदर्भ हो सकती है। दोनों को तब तक अनसुलझा मानें जब तक कि डे वन दस्तावेज़ या एक्सपोर्ट का अपना संदर्भ उनके अर्थ की पुष्टि न कर दे। अपने नोट्स में मूल वर्तनी, विराम चिह्न, एस्केप अनुक्रम और मान प्रकार सुरक्षित रखें।

खंड 4

एस्केप और मीडिया संदर्भों की सावधानीपूर्वक व्याख्या करें

JSON स्ट्रिंग के अंदर `\n` जैसा दृश्यमान अनुक्रम एक एस्केप किए गए न्यूलाइन का प्रतिनिधित्व करता है; यह आवश्यक नहीं कि मूल प्रविष्टि में दो वर्ण हों। कोट्स और बैकस्लैश भी एस्केप किए जाते हैं। एक पार्सर "Line one Line two" को लाइन ब्रेक वाली स्ट्रिंग के रूप में प्रदर्शित कर सकता है, जबकि JSON टेक्स्ट उस ब्रेक को `\n` के साथ एनकोड करता है। स्रोत फ़ाइल को संपादित किए बिना पाठक या पार्सर में मानों की तुलना करें।

यदि कोई मान किसी मीडिया फ़ाइल नाम या सापेक्ष पथ जैसा दिखता है, तो जाँचें कि क्या एक्सट्रैक्ट किए गए मीडिया फ़ोल्डर में कोई संबंधित फ़ाइल मौजूद है। सटीक संदर्भ और मिलान को एक अवलोकन के रूप में रिकॉर्ड करें, इस बात के प्रमाण के रूप में नहीं कि संदर्भ डे वन में सही ढंग से हल होता है। एक अनुपलब्ध मिलान एक्सपोर्ट विकल्पों, नामकरण के अंतर, या अन्य विवरणों को दर्शा सकता है जो अकेले फ़ील्ड द्वारा स्थापित नहीं होते हैं। किसी भी इन्वेंट्री को मूल एक्सपोर्ट से अलग रखें।

खंड 5

अनुमानित फ़ील्ड नामों के बजाय एक निरीक्षण रिकॉर्ड का उपयोग करें

एक छोटी तालिका अनिश्चितता को स्पष्ट करती है और किसी अन्य व्यक्ति को आपकी समीक्षा दोहराने में मदद करती है:

उदाहरण के लिए, एक सामान्य JSON ऑब्जेक्ट में `{"text":"A note","date":"2024-05-06","attachment":"photos/example.jpg"}` शामिल हो सकता है। ये केवल उदाहरणात्मक नाम और मान हैं, डे वन के स्कीमा के बारे में कोई बयान नहीं हैं। अपने नोट्स में मूल मान को अपरिवर्तित रखें; दिनांक फ़ॉर्मेट को बदलने, अनुमान लगाकर पथों को हल करने, या अपरिचित सदस्यों को हटाने से बचें।

कंटेनर सामग्री: एक्सट्रैक्शन के बाद मौजूद फ़ाइल नाम और फ़ोल्डर
JSON संरचना: देखा गया शीर्ष-स्तरीय प्रकार और नेस्टिंग
संभावित मान: सटीक की, मान प्रकार और एक संक्षिप्त अंश
संभावित अर्थ: "संभावित टेक्स्ट/दिनांक/अटैचमेंट"; असत्यापित चिह्नित करें
संबंधित मीडिया: सटीक पथ और क्या मिलान वाली फ़ाइल मिली थी
खंड 6

जानें कि निरीक्षण क्या स्थापित नहीं कर सकता

मान्य सिंटैक्स यह साबित नहीं करता है कि एक्सपोर्ट में प्रत्येक चयनित प्रविष्टि या अभीष्ट मीडिया फ़ाइल शामिल है। एक संभावित अटैचमेंट मान देखना यह साबित नहीं करता है कि संदर्भित फ़ाइल मौजूद है, और समान नाम वाली फ़ाइल ढूँढना आयात व्यवहार की पुष्टि नहीं करता है। डे वन की गाइड JSON को एक अभिलेखीय और पुन: आयात फ़ॉर्मेट के रूप में पहचानती है, लेकिन केवल-पठन निरीक्षण कोई रीस्टोर परीक्षण नहीं है। यदि आपको सुवाह्यता या रिकवरी के बारे में आश्वासन की आवश्यकता है, तो वर्तमान डे वन निर्देशों से परामर्श करें और अछूते एक्सपोर्ट को सुरक्षित रखते हुए, एक सुरक्षित प्रतिलिपि पर अलग से कोई भी आयात जाँच करें।

संबंधित लेख

इस विषय को आगे पढ़ें