YAML ወደ JSON መለወጫ
ፈጣን እና ደህንነቱ የተጠበቀ YAML ወደ JSON ልወጣ። ለማዋቀር ፋይሎች እና የውሂብ ትንተና ፍጹም።
ፈጣን እና ደህንነቱ የተጠበቀ YAML ወደ JSON ልወጣ። ለማዋቀር ፋይሎች እና የውሂብ ትንተና ፍጹም።
YAML እና JSON በቅርበት የተያያዙ ቅርጸቶች ናቸው - JSON በቴክኒካል ጥብቅ የሆነ የ YAML 1.2 ንዑስ ስብስብ ነው - እና በመካከላቸው መለወጥ ብዙውን ጊዜ ቀላል ነው። YAML ለሰዎች ተስማሚ የሆኑ ባህሪያትን JSON ያክላል፡ አስተያየቶች፣ ሳያመልጡ ባለብዙ መስመር ሕብረቁምፊዎች፣ መልህቅ እና ተለዋጭ ማጣቀሻዎች፣ የበለጠ ተለዋዋጭ ጥቅሶች እና የተፈጥሮ ሰነድ አቀማመጥን የሚመስል ውስጠ-ገብ መዋቅር። ይህ YAML ለውቅረት ፋይሎች (Kubernetes manifests፣ GitHub Actions workflows፣ Docker Compose) JSON የኤፒአይ ክፍያ ጭነቶችን ይቆጣጠራል።
YAMLን ወደ JSON መቀየር ማለት ብዙውን ጊዜ የ YAML ለሰው ተስማሚ የሆኑ ተጨማሪ ነገሮችን መተው ማሽኖቹ በቀላሉ የሚተነተን እና የኤችቲቲፒ ኤፒአይዎች ልሳን በሆነው ቅርጸት ነው። አስተያየቶች ተጥለዋል (JSON ምንም የለውም)። መልህቅ ማመሳከሪያዎች ወደ ማጣቀሻ እሴቶቻቸው ተፈትተዋል። ባለብዙ መስመር ሕብረቁምፊዎች ወደ መደበኛ JSON ሕብረቁምፊዎች ከተከተቱ አዲስ መስመሮች ጋር ይወድቃሉ።
ይህ መቀየሪያ በጃቫ ስክሪፕት ውስጥ በብዛት ጥቅም ላይ የዋለውን YAML ላይብረሪ js-yaml በመጠቀም YAML ን ይተነትናል። ውፅዓት የሚመነጨው JSON.stringifyን በመጠቀም ከአማራጭ ውስጠ ጋር ነው። ልወጣው ሁሉንም መደበኛ YAML 1.2 አገባብ ያስተናግዳል የፍሰት ዘይቤን፣ የብሎክ ስታይልን፣ scalarsን፣ ቅደም ተከተሎችን፣ ካርታዎችን፣ መልህቆችን፣ ተለዋጭ ስሞችን እና መደበኛ የመለያ አይነቶችን ጨምሮ።
አብዛኛዎቹ ኤፒአይዎች እና ብዙ የፕሮግራም አወጣጥ አካባቢዎች JSON ይጠብቃሉ። በYAML የተፃፉ የማዋቀሪያ ፋይሎች ከኮድ ወይም JSON ከሚቀበሉ አገልግሎቶች ጋር ሲዋሃዱ ወደ JSON መቀየር አለባቸው። ለJSON መገልገያ እንዲሁ የበዛ ነው፡ jq፣ JSON Path፣ JSON Schema፣ እና ሰፊ የማረጋገጫዎች እና ትራንስፎርመሮች ስነ-ምህዳር ሁሉም የJSON ግብዓት ይወስዳሉ።
JSON እንዲሁ YAML በማይሆንባቸው መንገዶች አሻሚ ነው። የ YAML ተለዋዋጭነት የመተንተን አስገራሚ ነገሮችን ይፈጥራል - በYAML 1.1 ውስጥ 'አይ' እንደ ቡሊያን ውሸት ሲተነተን፣ የስሪት ሕብረቁምፊዎች እንደ ተንሳፋፊ ሲተነተን፣ የመግባት ስህተቶች ጸጥ ያሉ መዋቅራዊ ለውጦችን ይፈጥራሉ። ወደ JSON መቀየር ውሂቡን ወደ ብዙ አሻሚ ቅፅ ያደርገዋል።
YAML ለጥፍ፣ JSON ያግኙ።
js-yaml YAML 1.2ን በአማራጭ ድጋፍ ለYAML 1.1 quirks ('no'-as-false ጉዳይ፣ የስምንትዮሽ ቁጥሮች ያለ 0o ቅድመ ቅጥያ) ይተገብራል። ተንታኙ የጃቫ ስክሪፕት የዕቃ ዛፍ ያመነጫል፡- ቁጥሮችን፣ ሕብረቁምፊዎችን፣ ቡሊያንን፣ ባዶ፣ ድርድሮችን እና ግልጽ ነገሮችን በመጠቀም።
JSON.stringify የነገር ዛፉን ወደ JSON ተከታታይ ያደርገዋል። አማራጭ ማስገቢያ ቆንጆ-የታተመ ውፅዓት ያፈራል; ያለሱ ውጤቱ የታመቀ ነጠላ መስመር JSON ነው። ልዩ እሴቶች (NaN, Infinity, undefined) ልክ ያልሆኑ JSON; መቀየሪያው ባሉበት ቦታ እንዲሻሩ ያስገድዳቸዋል።
የጠርዝ ጉዳዮች፡ YAML የጊዜ ማህተሞች በJSON ውስጥ ISO-8601 ሕብረቁምፊዎች ይሆናሉ። YAML ሁለትዮሽ ውሂብ (base64-encoded) ሕብረቁምፊ ይሆናል። JSON ምንም የማመሳከሪያ አገባብ ስለሌለው መልህቆች እና ተለዋጭ ስሞች በJSON ውስጥ ወደተባዙ እሴቶች ተፈተዋል።