ነጻ መለወጫ

JSON ለ YAML መለወጫ

የ YAML ቅርጸትን ለማፅዳት የJSON መዋቅር ቀይር። ለ Kubernetes መገለጫዎች እና የደመና ውቅሮች ተስማሚ።

ወይም

ስላዚህ መሳሪያ

ከJSON ወደ YAML መሄድ ባብዛኛው መረጃን ለሰው ልጆች የበለጠ ማንበብ የሚችል ማድረግ ነው። ሁለቱም ቅርጸቶች አንድ አይነት አወቃቀሮችን ይገልጻሉ - እቃዎች/ካርታዎች፣ ድርድሮች/ተከታታይ፣ scalars - ግን የ YAML ኢንደንትሽን ላይ የተመሰረተ አገባብ፣ አማራጭ ጥቅስ እና የአስተያየቶች ድጋፍ በእጅ ለመቃኘት እና ለማርትዕ ቀላል ያደርገዋል። የማዋቀር ፋይሎች ቀኖናዊው የአጠቃቀም ጉዳይ ናቸው፡ Kubernetes manifests፣ CI workflows፣ Ansible playbooks እና በደርዘን የሚቆጠሩ ሌሎች መሳሪያዎች ዋና አርታኢዎቻቸው ሰዎች በመሆናቸው በተለይ YAML ን መርጠዋል።

ይህ መቀየሪያ የተተነተነ JSON ነገርን ወደ YAML ለመደርደር js-yaml ይጠቀማል። ውጤቱ የYAML ስምምነቶችን በሚተገበርበት ጊዜ የዳታውን መዋቅር በትክክል ይጠብቃል፡ ለመክተቻ ያስገባ፣ የድርድር ዝርዝሮች፣ የቁልፍ እሴት ጥንዶች ለዕቃ ባህሪያት። የJSON ጥብቅ ድርብ ጥቅስ ዘና ያለ ነው; በውጤቱ ውስጥ ልዩ ቁምፊዎችን የያዙ ወይም ሌሎች ዓይነቶችን የሚመስሉ ሕብረቁምፊዎች ብቻ ተጠቅሰዋል።

YAML ገላጭነት JSON ከሌለው በስተቀር መለወጥ መረጃን የሚጠብቅ ነው። አስተያየቶች እንደገና ሊገነቡ አይችሉም (JSON ምንም አልነበረውም)። መልህቅ እና ተለዋጭ ማጣቀሻዎች ተደጋጋሚ መዋቅሮችን ሊጭኑ ይችላሉ ነገር ግን በራስ-ሰር አይፈጠሩም። ውጤቱ በመስመር ውስጥ ሁሉንም ማጣቀሻዎች ያሰፋዋል.

ለምን JSON ወደ YAML ቀይር

YAML ለሰዎች አርትዖት ውቅር ከJSON በአስደናቂ ሁኔታ የበለጠ ሊነበብ የሚችል ነው። መግባቱ የብሬስ መክተቻን ይተካዋል፣ ጥቅሶች ለቀላል ሕብረቁምፊዎች አማራጭ ናቸው፣ እና አስተያየቶች ግልጽ ያልሆኑ ቅንብሮችን መመዝገብ ይችላሉ። ሰዎች ለሚያቆዩዋቸው ፋይሎች — የመተግበሪያ ውቅረት፣ መሠረተ ልማት-እንደ-ኮድ፣ የቧንቧ መስመር ዝርጋታ - YAML ሁል ጊዜ ትክክለኛው የመድረሻ ቅርጸት ነው።

ዘመናዊ የመሠረተ ልማት መሳሪያዎች ለ YAML ን በእጅጉ ይደግፋሉ። Kubernetes፣ Helm charts፣ Ansible፣ GitHub Actions፣ GitLab CI፣ Docker Compose እና ሌሎች ብዙ መሳሪያዎች YAMLን ይመርጣሉ ወይም ይፈልጋሉ። የJSON ኤክስፖርትን ከአንድ ስርዓት ወደ YAML ውቅር ለሌላ መለወጥ የተለመደ የውህደት እርምጃ ነው።

እንዴት ይጠቀሙ

JSON ለጥፍ፣ YAML ያግኙ።

  1. የእርስዎን JSON ያክሉ: JSON ጽሑፍ ለጥፍ ወይም ፋይል ጣል። ግብአቱ የሚሰራ JSON መሆን አለበት; መቀየሪያው ዝርዝሩን የሚጥስ JSON መሰል ግቤትን ለመተንተን አይሞክርም።
  2. አማራጮችን ይምረጡ: የመግቢያ መጠን ነባሪዎች ወደ 2 ቦታዎች፣ በጣም የተለመደው የ YAML ስምምነት። የወራጅ ስታይል (ኮምፓክት JSON-like) እና የማገጃ ዘይቤ (በመግቢያ ላይ የተመሰረተ) የውጤቱን ገጽታ ይቀያይራል - ብሎክ ለሰው ተስማሚ ነባሪ ነው።
  3. ቀይር: የjs-yaml የቆሻሻ መጣያ ተግባር የተተነተነውን የJSON ዛፍ ወደ YAML ተከታታይ ያደርገዋል። የሕብረቁምፊ ጥቅስ አስፈላጊ በሚሆንበት ጊዜ ብቻ ይተገበራል; ውስብስብ ሕብረቁምፊዎች ሊነበቡ ይቆያሉ.
  4. ያውርዱ ወይም ይቅዱ: እንደ .yml ያስቀምጡ ወይም ወደ ቅንጥብ ሰሌዳ ይቅዱ። ውጤቱ ትክክለኛ YAML 1.2 ለማንኛውም YAML ሸማች ዝግጁ ነው።

የተለመዱ የአጠቃቀም ጉዳዮች

ቴክኒካዊ ዝርዝሮች

js-yaml's dump function የጃቫስክሪፕት ነገርን ዛፍ ይራመዳል እና የሚዋቀር ቅርጸትን በመጠቀም YAML ያወጣል። የገብ ጥልቀት፣ የመስመሩ ስፋት፣ የፍሰት ዘይቤ ገደብ እና የጥቅስ አያያዝ ሁሉም መለኪያዎች ናቸው። ነባሪ ቅንጅቶች የብሎክ አይነት YAML ባለ 2-space indentation፣ በጣም የተለመደው ስምምነት ያመርታሉ።

የሕብረቁምፊ ጥቅስ የ YAML ህጎችን ይከተላል፡ እንደ ሌሎች አይነቶች (ቁጥሮች፣ ቡሊያን፣ ባዶ፣ ቀኖች) የሚመስሉ ሕብረቁምፊዎች የሕብረቁምፊ ትርጓሜን ለማስገደድ ተጠቅሰዋል። ልዩ ቁምፊዎችን (ኮሎኖች, hashes, መሪ ሰረዞች) የያዙ ሕብረቁምፊዎች ይጠቀሳሉ; ቀላል ፊደላት ሕብረቁምፊዎች ሳይጠቀሱ ይቀራሉ።

ውፅዓት YAML 1.2 ተኳሃኝ ነው እና ከ js-yaml፣ PyYAML እና ሌሎች ዋና ዋና YAML ቤተ-መጻሕፍት ጋር በንጽህና ይተነትናል። በጣም ጥሩ የዙር ጉዞዎች (JSON → YAML → JSON) ውሂቡን ይጠብቃል፣ ምንም እንኳን የ YAML ውክልና በእጅ ከተጻፈ አቻ ሊለያይ የሚችል ቀኖናዊ ቅርጸትን ይመርጣል።

ምርጥ ልምዶች

በተደጋጋሚ የሚጠየቁ ጥያቄዎች

JSON ወደ YAML መቀየር ይዘቱን ይቀይረዋል?
ይዘቱ በተቻለ መጠን በትክክል ተጠብቆ ይቆያል። ነገር ግን፣ አንዳንድ ቅርጸ-ተኮር ባህሪያት ቀጥተኛ አቻዎች ላይኖራቸው ይችላል፣ ስለዚህ ትንሽ የቅርጸት ልዩነቶች ሊከሰቱ ይችላሉ።
ለምን የ YAML ቅርጸት ይጠቀማሉ?
YAML በትንሹ አገባብ በጣም ሊነበብ ስለሚችል ለማዋቀር ፋይሎች ታዋቂ ነው። ለDocker Compose፣ Kubernetes፣ GitHub Actions እና ብዙ የሲአይ/ሲዲ መሳሪያዎች መለኪያው ነው።
ቀያሪው የጎጆ ወይም ውስብስብ የJSON አወቃቀሮችን ይይዛል?
አዎ። መሳሪያው በ YAML ውፅዓት ውስጥ ያለውን ሙሉ የውሂብ መዋቅር ጠብቆ የጎጆ ዕቃዎችን፣ ድርድሮችን እና ሁሉንም መደበኛ የJSON ውሂብ አይነቶችን በትክክል ይተነትናል።
ይህ ልወጣ ደህንነቱ የተጠበቀ እና ግላዊ ነው?
አዎ። ሁሉም ሂደት በአሳሽዎ ውስጥ በአካባቢው ይከናወናል። የእርስዎ ውሂብ መቼም ቢሆን ከመሣሪያዎ አይወጣም - ምንም የአገልጋይ ጭነት የለም፣ ምንም የደመና ሂደት የለም፣ ምንም የውሂብ መሰብሰብ የለም።
ልዩ ቁምፊዎች ስላላቸው ሕብረቁምፊዎችስ?
js-yaml በቀጥታ ይጠቅሷቸዋል። YAML በደንብ እንዲፈጠር ኮሎን፣ ሃሽ ወይም መሪ ሰረዝ የያዙ ሕብረቁምፊዎች በጥቅሶች ተጠቅልለዋል።
የእኔ ውሂብ ወደ አገልጋይ ተሰቅሏል?
አይ ልወጣው js-yaml ን በመጠቀም በአሳሽዎ ውስጥ ይሰራል።
JSON ወደ YAML እና ወደ ኋላ መመለስ እችላለሁን?
አዎ። JSON → YAML → JSON ውሂቡን በመዋቅር ያስቀምጣል። የተለወጠው የJSON ቁልፍ ትዕዛዝ ከግቤት ጋር ይዛመዳል።
ከፍተኛው የግቤት መጠን ስንት ነው?
እስከ 50 ሜባ. js-yaml የተለመዱ የውቅረት ፋይሎችን በቅጽበት ይቆጣጠራል።