JSON को Tables में डिकोड करना
JSON Strings का Parsing करें।
JSON को Tables में डिकोड करना, CoddyKit पर Lua Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Lua Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Lua Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
डीकोडिंग की मूल बातें
डीकोडिंग JSON पाठ-श्रृंखला को ऐसे Lua मान में बदलती है, जिसके साथ आप काम कर सकते हैं। इसका प्रवेश-बिंदु json.decode(text) है।
यदि ऊपरी स्तर का JSON एक वस्तु है, तो आपको पाठ-कुंजियों वाली Lua तालिका मिलती है; यदि वह सरणी है, तो आपको संख्यात्मक सूचकांकों वाली तालिका मिलती है।
local json = require("dkjson")
local data = json.decode('{"id": 7}')
print(data.id)वस्तु के फ़ील्ड पढ़ना
डीकोड की गई JSON वस्तु किसी भी Lua तालिका की तरह व्यवहार करती है। बिंदु या कोष्ठक वाले लेखन से मानों तक पहुँचिए।
जो कुंजियाँ वैध Lua पहचानकर्ता नहीं हैं, जैसे जिनमें रिक्त स्थान हों, उनके लिए कोष्ठक वाला वाक्यविन्यास आवश्यक होता है।
local json = require("dkjson")
local u = json.decode('{"name": "Mia", "full name": "Mia Lee"}')
print(u.name)
print(u["full name"])सरणियों को डीकोड करना
JSON सरणी 1 से अनुक्रमित Lua अनुक्रम-तालिका में डीकोड होती है। आप इसे ipairs या संख्यात्मक लूप से दोहरा सकते हैं।
याद रखें: Lua सरणियाँ 0 से नहीं, बल्कि 1 से शुरू होती हैं।
local json = require("dkjson")
local nums = json.decode('[10, 20, 30]')
for i, v in ipairs(nums) do
print(i, v)
endसंख्याएँ और बूलियन
JSON संख्याएँ Lua संख्याओं में डीकोड होती हैं और JSON true/false Lua बूलियन में डीकोड होते हैं।
डीकोडिंग के बाद आप उनका सीधे अंकगणित या सशर्त कथनों में उपयोग कर सकते हैं।
local json = require("dkjson")
local d = json.decode('{"qty": 3, "paid": false}')
if not d.paid then
print("unpaid, qty =", d.qty)
endरिक्त मान को संभालना
JSON null कठिन होता है, क्योंकि Lua nil तालिका से किसी कुंजी को हटा देता है। लाइब्रेरी इस स्थिति को अलग-अलग तरीकों से संभालती हैं।
dkjson null को संकेतक मान json.null में डीकोड करता है, इसलिए कुंजी बनी रहती है। रिक्त मानों का पता लगाने के लिए इसकी तुलना कीजिए।
local json = require("dkjson")
local d = json.decode('{"mid": null}')
if d.mid == json.null then
print("mid is null")
endकिसी फ़ाइल से डीकोड करना
अक्सर JSON किसी फ़ाइल में मौजूद होता है। पूरी फ़ाइल को एक पाठ-श्रृंखला में पढ़िए और फिर उसे डीकोड कीजिए।
कॉन्फ़िगरेशन या सहेजी गई खेल स्थिति लोड करने के लिए यह तरीका सामान्य है।
local json = require("dkjson")
local f = io.open("config.json", "r")
local text = f:read("*a")
f:close()
local cfg = json.decode(text)
print(cfg.theme)तीन लौटाए गए मान
dkjson का decode अधिकतम तीन मान लौटाता है: डीकोड किया गया परिणाम, वह स्थान जहाँ पार्सिंग रुकी, और त्रुटि संदेश।
सफलता पर परिणाम non-nil होता है; विफलता पर वह nil होता है और तीसरा मान इसका कारण बताता है।
local json = require("dkjson")
local obj, pos, err = json.decode('{"a":1}')
print(obj.a, pos, err)प्रवेश मान की वैधता जाँचना
बाहरी JSON पर कभी भरोसा मत कीजिए। उपयोग करने से पहले हमेशा परिणाम की जाँच कीजिए, ताकि खराब डेटा-पैकेज आपके प्रोग्राम को क्रैश न कर दे।
local json = require("dkjson")
local function safeDecode(s)
local v, _, err = json.decode(s)
if not v then return nil, err end
return v
endcjson में अंतर
lua-cjson इसी तरह काम करता है, लेकिन अमान्य प्रवेश मान मिलने पर उसे लौटाने के बजाय त्रुटि उत्पन्न करता है। सुरक्षा के लिए इसे pcall में लपेटिए।
cjson अधिक तेज़ है, जो बड़ी मात्रा में पार्सिंग के लिए महत्वपूर्ण है।
local cjson = require("cjson")
local ok, data = pcall(cjson.decode, '{"x":1}')
if ok then print(data.x) else print("error") endअनुपस्थित कुंजियाँ nil होती हैं
यदि आप ऐसी कुंजी पढ़ते हैं जो JSON में मौजूद नहीं थी, तो Lua बस nil लौटाता है। यह सामान्य है और कोई त्रुटि उत्पन्न नहीं करता।
वैकल्पिक फ़ील्ड के लिए डिफ़ॉल्ट मान देने हेतु or के साथ एक वैकल्पिक मान का उपयोग कीजिए।
local json = require("dkjson")
local d = json.decode('{"name": "Sam"}')
local age = d.age or 0
print(d.name, age)खाली तालिकाएँ अस्पष्ट होती हैं
खाली JSON वस्तु {} और खाली सरणी [] दोनों खाली Lua तालिका में डीकोड होते हैं। डीकोड करने के बाद आप यह नहीं बता सकते कि वह कौन-सी थी।
यह मुख्य रूप से फिर से एन्कोड करते समय महत्वपूर्ण होता है; दोतरफ़ा रूपांतरण के लिए इस अस्पष्टता को ध्यान में रखिए।
त्वरित जाँच
JSON डीकोडिंग के बारे में आपने जो सीखा है, उसे जाँचिए।
पुनरावलोकन
डीकोडिंग JSON पाठ को Lua तालिकाओं में बदलती है; वस्तुएँ पाठ-कुंजी वाली तालिकाएँ बनती हैं और सरणियाँ 1 से अनुक्रमित क्रम बनाती हैं।
परिणाम की हमेशा वैधता जाँचिए, संकेतक मान के माध्यम से रिक्त मान संभालिए और याद रखिए कि अनुपस्थित कुंजियाँ केवल nil होती हैं। आगे आप Lua तालिकाओं को वापस JSON में एन्कोड करना सीखेंगे।
एआई शिक्षक के साथ Lua सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 40
- पाठ
- 159
अक्सर पूछे जाने वाले प्रश्न
क्या “JSON को Tables में डिकोड करना” पाठ निःशुल्क है?
हाँ — Lua Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “JSON को Tables में डिकोड करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Lua Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“JSON को Tables में डिकोड करना” में मैं क्या सीखूँगा?
JSON Strings का Parsing करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Lua Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Lua Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Lua Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“JSON को Tables में डिकोड करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Lua Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Lua Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- JSON क्यों
- JSON को Tables में डिकोड करना
- Tables को JSON में एन्कोड करना
- नेस्टेड डेटा संभालना