Tables को JSON में एन्कोड करना
Lua डेटा को क्रमबद्ध करें।
Tables को JSON में एन्कोड करना, CoddyKit पर Lua Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Lua Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Lua Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एन्कोडिंग की मूल बातें
एन्कोडिंग, डीकोडिंग की विपरीत प्रक्रिया है: यह Lua तालिका को JSON पाठ-श्रृंखला में बदलती है। json.encode(table) को कॉल कीजिए।
परिणाम एक-पंक्ति वाली पाठ-श्रृंखला होती है, जिसे आप फ़ाइल में लिख सकते हैं या नेटवर्क पर भेज सकते हैं।
local json = require("dkjson")
local t = { name = "Leo", age = 9 }
print(json.encode(t))वस्तुएँ और सरणियाँ
Lua तालिका किस रूप में एन्कोड होगी, यह उसकी कुंजियों पर निर्भर करता है। 1 से शुरू होने वाली लगातार पूर्णांक कुंजियों वाली तालिका JSON सरणी बन जाती है।
पाठ-कुंजियों वाली तालिका JSON वस्तु बन जाती है। मिश्रित तालिकाएँ अस्पष्ट होती हैं और उनसे बचना चाहिए।
local json = require("dkjson")
print(json.encode({ 1, 2, 3 })) -- [1,2,3]
print(json.encode({ a = 1, b = 2 })) -- {"a":1,"b":2}सुंदर प्रारूपण
डिफ़ॉल्ट रूप से JSON संक्षिप्त होता है। पठनीयता के लिए विकल्पों वाली तालिका पास करके dkjson आउटपुट में इंडेंटेशन जोड़ सकता है, जिसमें indent = true हो।
सुंदर प्रारूप वाला आउटपुट उन कॉन्फ़िगरेशन फ़ाइलों के लिए बहुत उपयोगी है जिन्हें मनुष्य संपादित करेंगे।
local json = require("dkjson")
local t = { name = "Ann", roles = { "dev", "lead" } }
print(json.encode(t, { indent = true }))संख्याओं और बूलियन मानों का एन्कोडन
Lua की संख्याएँ और बूलियन मान सीधे अपने JSON समकक्षों में एन्कोड होते हैं। पूर्णांक और दशमलव दोनों JSON संख्याएँ बन जाते हैं।
local json = require("dkjson")
local t = { count = 5, ratio = 1.5, active = true }
print(json.encode(t))nil मान की समस्या
JSON null दर्शाने के लिए आप किसी तालिका में nil संग्रहीत नहीं कर सकते, क्योंकि nil असाइन करने पर कुंजी पूरी तरह हट जाती है।
शाब्दिक नल मान भेजने के लिए मान के रूप में लाइब्रेरी संकेतक json.null का उपयोग करें।
local json = require("dkjson")
local t = { middle = json.null }
print(json.encode(t)) -- {"middle":null}विरल सारणियाँ विफल होती हैं
यदि किसी अनुक्रम में अंतराल हो, जैसे कि अनुक्रमांक 2 का मान nil हो, तो Lua उसे साफ़-सुथरी सारणी नहीं मानता। एन्कोडिंग अंतराल पर रुक सकती है या अजीब ढंग से व्यवहार कर सकती है।
अनुमानित JSON सारणियों के लिए सारणी अनुक्रमांकों को 1 से शुरू करके लगातार रखें।
local json = require("dkjson")
local t = { [1] = "a", [3] = "c" } -- gap at 2
print(json.encode(t)) -- unreliableJSON को फ़ाइल में लिखना
डेटा को स्थायी रूप से रखने के लिए तालिका को एक स्ट्रिंग में एन्कोड करें और उस स्ट्रिंग को किसी फ़ाइल में लिखें।
इसी तरह आप सेटिंग, स्कोर या किसी भी संरचित स्थिति को सहेजते हैं।
local json = require("dkjson")
local data = { theme = "dark", volume = 8 }
local f = io.open("settings.json", "w")
f:write(json.encode(data, { indent = true }))
f:close()रिक्त तालिका डिफ़ॉल्ट रूप से वस्तु होती है
रिक्त Lua तालिका {} में कोई कुंजी नहीं होती, इसलिए dkjson डिफ़ॉल्ट रूप से उसे रिक्त वस्तु {} के रूप में एन्कोड करता है, सारणी के रूप में नहीं।
यदि आपको रिक्त सारणी चाहिए, तो dkjson तालिका को चिह्नित करने की सुविधा देता है; अन्यथा उसका प्रकार अस्पष्ट रहता है।
local json = require("dkjson")
print(json.encode({})) -- {}कुंजियों का क्रम निश्चित नहीं होता
स्ट्रिंग कुंजियों के लिए Lua तालिकाओं में कोई अंतर्निहित क्रम नहीं होता, इसलिए एन्कोड किए गए JSON में फ़ील्ड का क्रम बदल सकता है।
फ़ील्ड के क्रम पर निर्भर न रहें; JSON का उपयोग करने वालों को स्थिति के आधार पर नहीं, बल्कि नाम से कुंजियाँ ढूँढ़नी चाहिए।
आवागमन की संगति
पहले एन्कोड करने और फिर डिकोड करने पर आपको समतुल्य तालिका मिलनी चाहिए। यह आवागमन आपके डेटा प्रबंधन का परीक्षण करने का अच्छा तरीका है।
local json = require("dkjson")
local orig = { a = 1, list = { 2, 3 } }
local copy = json.decode(json.encode(orig))
print(copy.a, copy.list[2])cjson के साथ एन्कोडिंग
lua-cjson encode भी उपलब्ध कराता है। यह तेज़ है, लेकिन इसमें प्रारूपण के विकल्प कम हैं और यह त्रुटियाँ लौटाने के बजाय उत्पन्न करता है।
सुंदर, इंडेंट किए हुए आउटपुट के लिए dkjson आमतौर पर अधिक सुविधाजनक विकल्प है।
local cjson = require("cjson")
local s = cjson.encode({ ok = true, n = 42 })
print(s)त्वरित जाँच
Lua तालिकाओं की एन्कोडिंग की अपनी समझ जाँचें।
पुनरावलोकन
एन्कोडिंग Lua तालिकाओं को JSON स्ट्रिंग में बदलती है। पूर्णांक-कुंजी वाले अनुक्रम सारणियाँ बनते हैं और स्ट्रिंग-कुंजी वाली तालिकाएँ वस्तुएँ बनती हैं।
शाब्दिक नल मानों के लिए json.null का उपयोग करें, सारणियों को लगातार रखें और पठनीय आउटपुट के लिए इंडेंटेशन सक्षम करें। इसके बाद आप गहराई से नेस्टेड डेटा पर काम करेंगे।
एआई शिक्षक के साथ Lua सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 40
- पाठ
- 159
अक्सर पूछे जाने वाले प्रश्न
क्या “Tables को JSON में एन्कोड करना” पाठ निःशुल्क है?
हाँ — Lua Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Tables को JSON में एन्कोड करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Lua Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Tables को JSON में एन्कोड करना” में मैं क्या सीखूँगा?
Lua डेटा को क्रमबद्ध करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Lua Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Lua Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Lua Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Tables को JSON में एन्कोड करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Lua Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Lua Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- JSON क्यों
- JSON को Tables में डिकोड करना
- Tables को JSON में एन्कोड करना
- नेस्टेड डेटा संभालना