← speedor.net

የውሂብ መቀየሪያዎች

ነጻ የውሂብ ቅርጸት መቀየሪያዎች፦ CSV ↔ JSON፣ JSON ↔ YAML እና JSON ↔ XML። ወዲያውኑ፣ የግል፣ በቀጥታ በአሳሽዎ ውስጥ።

ውሂብ በአንድ ቅርጸት ጸጥ ብሎ ብዙም አይቀመጥም። ሪፖርት እንደ ስፕሬድሺት ይደርሳል፣ API JSON ይፈልጋል፣ የማሰማራት ቧንቧ መስመር YAML ይጠብቃል፣ በምድር ቤት ውስጥ የትም ቦታ ደግሞ ቀድሞ የነበረ አገልግሎት አሁንም XML ይናገራል። ከውሂብ ጋር በስራ ላይ ያለው አብዛኛው የዕለት ተዕለት ግጭት ውሂቡ ራሱ አይደለም፣ ካለው ቅርፅ ወደ ሌላ ነገር ወደሚፈልገው ቅርፅ ማድረስ ነው። ያ የውሂብ መቀየሪያ ጠቅላላ ስራ ነው፦ በአንድ ማስታወሻ ውስጥ የተዋቀረ ጽሁፍ ወስዶ ትርጉሙን ሳያጣ በሌላ እንደገና ማውጣት።

በCSV፣ JSON፣ YAML እና XML መካከል ውሂብን ማንቀሳቀስ

ውሂብ በአንድ ቅርጸት ጸጥ ብሎ ብዙም አይቀመጥም። ሪፖርት እንደ ስፕሬድሺት ይደርሳል፣ API JSON ይፈልጋል፣ የማሰማራት ቧንቧ መስመር YAML ይጠብቃል፣ በምድር ቤት ውስጥ የትም ቦታ ደግሞ ቀድሞ የነበረ አገልግሎት አሁንም XML ይናገራል። ከውሂብ ጋር በስራ ላይ ያለው አብዛኛው የዕለት ተዕለት ግጭት ውሂቡ ራሱ አይደለም፣ ካለው ቅርፅ ወደ ሌላ ነገር ወደሚፈልገው ቅርፅ ማድረስ ነው። ያ የውሂብ መቀየሪያ ጠቅላላ ስራ ነው፦ በአንድ ማስታወሻ ውስጥ የተዋቀረ ጽሁፍ ወስዶ ትርጉሙን ሳያጣ በሌላ እንደገና ማውጣት።

የSpeedor መቀየሪያዎች ሙሉ በሙሉ በአሳሽዎ ውስጥ ይሰራሉ። ይለጥፋሉ፣ ይጠቅልጣሉ፣ ውጤቱን ይቀዳሉ። ምንም ነገር አልተጫነም፣ ምንም ነገር አልተመዘገበም፣ ምንም ነገር ከመሣሪያዎ አይወጣም። የደንበኛ ውሂብ ኤክስፖርት ወደ የዘፈቀደ ጣቢያ ከመጣል በፊት ላመነታ ማንኛውም ሰው፣ ያ የአካባቢ-ብቻ ንድፍ ነጥቡ ነው።

እያንዳንዱ ቅርጸት በእውነት ምን ላይ ጥሩ ነው

በመካከላቸው ከመቀያየርዎ በፊት እነዚህ ቅርጸቶች ለምን እንደተፈጠሩ ማወቅ ይረዳል፣ ምክንያቱም እያንዳንዱ ለተለየ ስራ የተገነባ ስለሆነ።

CSV ስፕሬድሺቶች የሚወዱት ጠፍጣፋ፣ በኮማ-የተለያየ ፍርግርግ ነው። በተፈጥሮው ሠንጠረዣዊ ነው፦ ረድፎች እና አምዶች፣ ምንም ጎጆ የተደረገ ነገር የለም። በExcel፣ Google Sheets፣ ወይም Numbers ውስጥ ይክፈቱት እና በቀላሉ ይሰራል። ጥንቃቄው CSV ስለ ዓይነቶች ምንም ጽንሰ-ሃሳብ የለውም። ዋጋ 007 ሕብረቁምፊ፣ ቁጥር፣ ወይም የፖስታ ኮድ ሊሆን ይችላል፣ CSV ደግሞ የትኛው እንደሆነ አይነግርዎትም።

JSON የዘመናዊው ድር የጋራ ቋንቋ ነው። የሚደውሉት ማለት ይቻላል እያንዳንዱ API ይናገረዋል። JSON ጎጆ ማድረግን፣ ድርድሮችን፣ እና ጥቂት እውነተኛ ዓይነቶችን (ሕብረቁምፊዎች፣ ቁጥሮች፣ ቡሊያን፣ ኑል) ይይዛል፣ ይህም ከጠፍጣፋ ሠንጠረዥ ይበልጥ ገላጭ ያደርገዋል። አነስተኛ፣ ማሽን-ወዳጅ፣ በሁሉም ቦታ የተደገፈ ነው።

YAML የJSON የበለጠ ሊነበብ የሚችል ዘመድ ነው። ከቅንፎች ይልቅ ኢንደንቴሽን ይጠቀማል፣ አስተያየቶችን ይደግፋል፣ ለውቅር ፋይሎች፣ Docker Compose፣ Kubernetes manifests፣ እና CI ቧንቧ መስመሮች የሚመረጥ ቅርጸት ይሆናል። ሰው በእጅ አንድ ነገር ማርትዕ ሲኖርበት፣ YAML ብዙ ጊዜ ለዓይን ገር ነው።

XML ትልቁ ሰው ነው። ብዙ ቃል ያለው፣ ታግ-የበዛበት፣ አሁንም ጥልቅ በኢንተርፕራይዝ ስርዓቶች፣ SOAP አገልግሎቶች፣ የፋይናንስ መልእክት፣ እና እንደ RSS ያሉ የሰነድ ደረጃዎች ውስጥ የተካተተ። በአረንጓዴ-ሜዳ ፕሮጀክቶች ውስጥ ብዙም አያገኙትም፣ ግን በእውነት ሲፈልጉት፣ በእውነት ይፈልጉታል።

ረቂቅ ብሩህ የውሂብ ብሎኮች ከአንድ የተዋቀረ ቅርፅ ወደ ሌላ በጨለማ ኢንዲጎ እና ሰማያዊ ሲቀያየሩ
ተመሳሳይ ውሂብ፣ በድጋሚ ተገለጸ፦ አንድ አወቃቀር ትርጉሙን ሳያጣ ወደ ሌላ ይፈስሳል።

መቀያየሮች በእውነት የት እንደሚከሰቱ

መመልከት ከጀመሩ ሁኔታዎቹ በጣም ተጨባጭ ናቸው። ማርኬቲንግ የ4,000 ተውቂያዎች ስፕሬድሺት ቢሰጥዎት እና የመመዝገቢያ API JSON ድርድር ብቻ ቢቀበል እንበል። ሉሁን ወደ CSV ኤክስፖርት ያደርጋሉ፣ በCSV ወደ JSON ያካሂዱት፣ ለPOST ዝግጁ የሆነ ጭነት አለዎት። ምንም የማጣበቂያ ስክሪፕት የለም፣ ምንም pandas የለም፣ ምንም መሐንዲስ ጠብቆ የለም።

ወይም ከዚያው API የJSON ክፍል ይመልሱ እና አገልግሎትዎ በጅምር ወደሚያነበው የውቅር ፋይል ውስጥ ማስገባት ይፈልጋሉ። በJSON ወደ YAML ይቀይሩት፣ ንፁህ እና አስተያየት ሊጨመርበት የሚችል ወደ ማከማቻዎ በትክክል የሚገባ ነገር ያገኛሉ። አንድ መሣሪያ JSON ብቻ ቢቀበል ግን ውቅርዎ በYAML ውስጥ ቢኖር ሌላ አቅጣጫ መሄድም ይሰራል።

ከዚያም ማንም የማይደሰትበት ውህደት አለ፦ XML ብቻ የሚቀበል የአጋር ስርዓት። ጭነትዎን በJSON ይገነባሉ ምክንያቱም መተግበሪያዎ በዚያ መንገድ ስለሚያስብ፣ ከዚያ በድንበሩ ላይ ወደ XML ይቀይሩ። ቅርጹ ተመሳሳይ ሆኖ ይቆያል፣ አገባቡ ብቻ ይቀየራል።

ማወቅ ተገቢ የሆኑ ወጥመዶች

የቅርጸት መቀየር ሁልጊዜ ኪሳራ-አልባ አይደለም፣ ያለበለዚያ ማስመሰል ወደ ስህተቶች ይመራል። አንዳንድ ነገሮች በአዕምሮ ውስጥ መያዝ ተገቢ ናቸው፦

CSV ዓይነቶችን ይረሳል። እያንዳንዱ ሕዋስ ተራ ጽሁፍ ብቻ ስለሆነ፣ ቁጥሮች፣ ቡሊያኖች፣ እና ቀኖች ሁሉም እንደ ሕብረቁምፊዎች ይወጣሉ መቀየሪያው ለእርስዎ ካልገመተ በስተቀር። true ቡሊያን መሆን ካስፈለገው እንጂ "true" የሚለው ቃል ካልሆነ፣ ከመላክዎ በፊት ውጤቱን ይፈትሹ።

YAML ስለ ነጭ ቦታ ያሳስበዋል። ኢንደንቴሽን በYAML ውስጥ ውበታዊ አይደለም፣ አወቃቀራዊ ነው። አንድ ያገለለ ክፍተት ዋጋ የትኛው ቁልፍ እንደሆነ ሊቀይር ይችላል፣ ትሮችም ሙሉ በሙሉ የተከለከሉ ናቸው። ከማንኛውም JSON ወደ YAML ውሁድ ጉዞ በኋላ፣ ፈጣን አይን ማድረግ ተገቢ ነው፣ ወይም አወቃቀሩ እንደተረፈ ለማረጋገጥ ውጤቱን በየJSON ቅርጻ-ቅርጽ ሰሪ ውስጥ ያካሂዱ።

XML እና JSON በንፁህ አይካፈሉም። JSON ድርድሮች አሉት፤ XML ተደጋጋሚ ንጥረ ነገሮች አሉት። JSON ባህሪያት የትም የለውም፤ XML በሁሉም ቦታ አለው። አብዛኞቹ መቀየሪያዎች ምክንያታዊ ስምምነት ይመርጣሉ፣ ግን XMLዎ ብዙ ባህሪያትን ከተጠቀመ፣ የሚያመርተው JSON ከእጅ-የተጻፈ JSON ትንሽ የተለየ ይመስላል። ያ የሚጠበቅ ነው፣ ስህተት አይደለም።

የጎጆ ጥልቀት አስፈላጊ ነው። CSV ጠፍጣፋ ነው፣ ስለዚህ ጥልቅ ጎጆ የተደረገ JSON ቁልፎችን ማጣበብ ሳይኖርበት ወደ አምዶች ሁልጊዜ ማጠቃለል አይችልም (እንደ address.city ያስቡ)። በሌላ አቅጣጫ፣ ጠፍጣፋ CSV ጠፍጣፋ ድርድር ይሆናል፣ ፈጽሞ ዛፍ አይደለም።

የብሩህ የውሂብ ሠንጠረዥ ረድፎች ወደ ጎጆ የተደረገ የቅንፎች ዛፍ በባህር ሰማያዊ፣ ሰማያዊ እና ወርቃማ ሲቀየሩ
ጠፍጣፋ ረድፎች ወደ ጎጆ የተደረገ ዛፍ ይከፈታሉ፦ ተመሳሳይ መዝገቦች፣ የበለጠ ባለጸጋ ቅርፅ።

እዚህ የአካባቢ-ብቻ ለምን አስፈላጊ ነው

ብዙ ለመቀየር የሚፈልጉት ውሂብ ለማጋራት የእርስዎ አይደለም። የተጠቃሚ መዝገቦች፣ የውስጥ ውቅሮች፣ በምላሽ ውስጥ የተቀበሩ የAPI ቁልፎች፣ የፋይናንስ ረድፎች። ብዙ የመስመር ላይ መቀየሪያዎች ስራውን ለማካሄድ በጸጥታ የለጠፉትን ወደ አገልጋይ ይልካሉ። Speedor አያደርገውም። የመቀየሪያ ሎጂክ በአሳሽ ትርዎ ውስጥ ይሰራል፣ ውሂቡ ፈጽሞ በኔትወርኩ ላይ አያልፍም፣ ትሩን መዝጋትም ብቸኛው ማጽዳት ነው። ደግሞም ፈጣን ነው፣ ምንም የስቀላ ውሁድ ጉዞ ስለሌለ፣ ገጹ ከተጫነ በኋላ ከመስመር ውጭም ይሰራል። ነጻ፣ ምዝገባ የለም፣ ኮታ የለም።

ተደጋግመው የሚነሱ ጥያቄዎች

ውሂቤ ስቀይረው የትም ይጫናል?

አይደለም። እያንዳንዱ መቀየር JavaScript በመጠቀም በአካባቢ በአሳሽዎ ውስጥ ይሰራል። ውሂብዎ ፈጽሞ ከመሣሪያዎ አይወጣም እናም ፈጽሞ ወደ አገልጋይ አይላክም፣ ለዚህም ነው እነዚህ መሣሪያዎች ከመስመር ውጭ ሲሆኑ እንኳ የሚሰሩት።

ምንም ኮድ ሳልጽፍ CSV ወደ JSON መቀየር እችላለሁ?

አዎ። CSVዎን ወደ መቀየሪያው ይለጥፉ፣ ቀይር የሚለውን ይጠቅልጡ፣ የተገኘውን የJSON ድርድር ይቅዱ። የመጀመሪያው ረድፍ የአምድ ራሶች ተብሎ ይታያል፣ ለእያንዳንዱ ነገር ቁልፎች ይሆናሉ።

የተቀየረው JSONዬ ቁጥሮችን እንደ ሕብረቁምፊዎች ለምን ያሳያል?

CSV ስለ ውሂብ ዓይነቶች ምንም ጽንሰ-ሃሳብ የለውም፣ ስለዚህ እያንዳንዱ ዋጋ እንደ ጽሁፍ ይጀምራል። አንዳንድ መቀየሪያዎች ቁጥሮችን እና ቡሊያኖችን በራስ-ሰር ለማወቅ ይሞክራሉ፣ ግን ጥርጣሬ ካለ እንደ የፖስታ ኮዶች ወይም ቀዳሚ ዜሮ ያላቸው መታወቂያዎችን ካሉ ነገሮች እንዳያበላሹ ዋጋዎቹን እንደ ሕብረቁምፊዎች ይይዛሉ።

በJSON እና YAML መካከል ያለው ልዩነት ምንድን ነው?

ተመሳሳይ ዓይነት ውሂብ ይወክላሉ፣ ግን YAML ከጥምዝ እና ካሬ ቅንፎች ይልቅ ኢንደንቴሽን ይጠቀማል፣ አስተያየቶችን ይፈቅዳል፣ ለሰዎች ለማንበብ እና ለማርትዕ በአጠቃላይ ቀላል ነው። JSON ይበልጥ አነስተኛ ነው እና ለአብዛኞቹ የድር APIዎች ነባሪ ነው።

በእነዚህ ቅርጸቶች መካከል መቀያየር ሁልጊዜ ኪሳራ-አልባ ነው?

ብዙ ጊዜ፣ ግን ሁልጊዜ አይደለም። JSON፣ YAML፣ እና XML በአብዛኛዎቹ ጉዳዮች ጥሩ ይካፈላሉ። በጣም ተንኮለኞቹ ጥምረቶች CSV ናቸው፣ ጠፍጣፋ እና ዓይነት-አልባ የሆነው፣ እና XML፣ ባህሪያትን እና ተደጋጋሚ ንጥረ ነገሮችን ከJSON ድርድሮች በተለየ የሚይዘው። ለአስፈላጊ ውሂብ ሁልጊዜ ውጤቱን ይፈትሹ።

እነዚህ መቀየሪያዎች በትላልቅ ፋይሎች ላይ ይሰራሉ?

ስራው በራስዎ መሣሪያ ላይ ስለሚከሰት አብዛኞቹን የዕለት ተዕለት ፋይሎች በምቾት ይይዛሉ። አፈጻጸም ከአገልጋይ ይልቅ በመሣሪያዎ ላይ የተመሠረተ ነው፣ ስለዚህ በጣም ትላልቅ ፋይሎች በዋነኝነት በአሳሽዎ ማህደረ ትውስታ የተገደቡ ናቸው።