Kotlin:
YAML के साथ काम करना
कैसे करें:
Kotlin में YAML पारंगति और सीरियलाइजेशन के लिए अंतर्निर्मित समर्थन नहीं है, लेकिन आप snakeyaml
(सामान्य YAML पार्सिंग के लिए) और kotlinx.serialization
(एक YAML प्रारूप एक्सटेंशन के साथ) जैसे लोकप्रिय तृतीय-पक्ष लाइब्रेरीज का उपयोग करके YAML फाइलों के साथ काम कर सकते हैं।
snakeyaml
का उपयोग करना
डिपेंडेंसी:
implementation 'org.yaml:snakeyaml:1.30'
YAML पढ़ें:
import org.yaml.snakeyaml.Yaml
import java.io.FileInputStream
fun readYaml(filePath: String) {
val yaml = Yaml()
val inputStream = FileInputStream(filePath)
val data = yaml.load<Map<String, Any>>(inputStream)
println(data)
}
// नमूना प्रयोग
fun main() {
readYaml("config.yaml")
}
नमूना config.yaml
:
database:
host: localhost
port: 5432
नमूना आउटपुट:
{database={host=localhost, port=5432}}
YAML के साथ kotlinx.serialization
का उपयोग
सबसे पहले, यह सुनिश्चित करें कि आपके पास समुचित YAML समर्थन वाली kotlinx-serialization
लाइब्रेरी है (यदि उपलब्ध है, क्योंकि kotlinx.serialization
प्रमुखतः JSON और अन्य प्रारूपों को सीधे लक्षित करती है)।
डिपेंडेंसी:
// JSON के लिए (दृष्टांत में, YAML समर्थन या वैकल्पिक लाइब्रेरीज के लिए जाँचें)
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2'
एक धारावाहिक डेटा क्लास निर्धारित करें:
import kotlinx.serialization.Serializable
@Serializable
data class Config(
val database: Database
)
@Serializable
data class Database(
val host: String,
val port: Int
)
दुर्भाग्यवश, लेखन के समय, kotlinx.serialization
में सीधे YAML समर्थन सीमित या विकसित हो सकता है। आपको एक मध्यवर्ती प्रतिनिधित्व (जैसे कि snakeyaml
के साथ YAML को JSON में परिवर्तित करना और फिर kotlinx.serialization
के साथ JSON का पार्सिंग करना) का उपयोग करने की आवश्यकता पड़ सकती है या kotlinx.serialization
के साथ संगत समुदाय संचालित YAML सीरियलाइजेशन प्रोजेक्ट्स की तलाश करनी पड़ सकती है।
JSON के लिए, कोड कुछ इस तरह दिखेगा:
import kotlinx.serialization.json.Json
import kotlinx.serialization.decodeFromString
fun main() {
val jsonText = """
{
"database": {
"host": "localhost",
"port": 5432
}
}
""".trimIndent()
val config = Json.decodeFromString<Config>(jsonText)
println(config)
}
क्योंकि Kotlin और इसका पारिस्थितिक तंत्र लगातार विकसित हो रहा है, YAML समर्थन और लाइब्रेरियों के लिए नवीनतम जानकारी के लिए आधिकारिक दस्तावेज़ीकरण और समुदाय संसाधनों पर नज़र रखें।