1.13 में, Minecraft भाषा फ़ाइलों को JSON में एक साधारण बहु-पंक्ति कुंजी = मान स्वरूप से स्विच किया गया था ।
चुनौती
JSON स्ट्रिंग वापस करने वाले मूल प्रारूप से परिवर्तित प्रोग्राम लिखें। इनपुट को किसी भी मानक इनपुट विधि का उपयोग करके लिया जा सकता है, आउटपुट को किसी भी मानक आउटपुट विधि से json होना चाहिए
मूल प्रारूप में उदाहरण के लिए, कुंजी = मान जोड़े वाली लाइनें शामिल हैं
tile.dirt.name=Dirt
advMode.nearestPlayer=Use "@p" to target nearest player
build.tooHigh=Height limit for building is %s blocks
कुंजी = मान के साथ एक बड़ी JSON ऑब्जेक्ट में परिवर्तित किया जाना चाहिए
{
"tile.dirt.name": "Dirt",
"advMode.nearestPlayer": "Use \"@p\" to target nearest player",
"build.tooHigh": "Height limit for building is %s blocks"
}
कुछ विवरण
- किसी भी वैध JSON की अनुमति तब तक है जब तक कि उसमें केवल सही कुंजी / मान जोड़े हों। ट्रेलिंग कॉमा की अनुमति है क्योंकि Minecraft उन्हें अनुमति देता है।
- केवल एक चीज जो बचनी चाहिए वह है उद्धरण। (1.13 से पहले भाषा की फ़ाइल में कोई नई सूची, बैकस्लैश या अन्य जोंस-ब्रेकिंग चीजें मौजूद नहीं हैं)
- खाली लाइनों को नजरअंदाज करना चाहिए
- लाइनों में एक समान होता है
परीक्षण के मामलों
इनपुट:
tile.dirt.name=Dirt
advMode.nearestPlayer=Use "@p" to target nearest player
build.tooHigh=Height limit for building is %s blocks
आउटपुट:
{
"tile.dirt.name": "Dirt",
"advMode.nearestPlayer": "Use \"@p\" to target nearest player",
"build.tooHigh": "Height limit for building is %s blocks"
}
इनपुट:
translation.test.none=Hello, world!
translation.test.complex=Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!
translation.test.escape=%%s %%%s %%%%s %%%%%s
translation.test.invalid=hi %
translation.test.invalid2=hi % s
translation.test.args=%s %s
translation.test.world=world
आउटपुट:
{
"translation.test.none": "Hello, world!",
"translation.test.complex": "Prefix, %s%2$s again %s and %1$s lastly %s and also %1$s again!",
"translation.test.escape": "%%s %%%s %%%%s %%%%%s",
"translation.test.invalid": "hi %",
"translation.test.invalid2": "hi % s",
"translation.test.args": "%s %s",
"translation.test.world": "world",
}
इनपुट:
stat.mineBlock=%1$s Mined
stat.craftItem=%1$s Crafted
stat.useItem=%1$s Used
stat.breakItem=%1$s Depleted
आउटपुट:
{
"stat.mineBlock": "%1$s Mined",
"stat.craftItem": "%1$s Crafted",
"stat.useItem": "%1$s Used",
"stat.breakItem": "%1$s Depleted"
}
=
?
tile.dirt.name
बनता है"block.minecraft.dirt"
?