แปลง JSON เป็น YAML JavaScript Object Notation ↔ YAML Ain't Markup Language ฟรี ออนไลน์ ปลอดภัย
วางไฟล์ JSON ของคุณลงมา แล้วรับ YAML กลับไป ไฟล์ถูกอ่านและเขียนที่นี่ ในเบราว์เซอร์ของคุณ จึงไม่ออกจากอุปกรณ์ของคุณ — และสิ่งที่การแปลงเก็บไว้ได้ กับสิ่งที่เก็บไว้ไม่ได้ ก็เขียนไว้ด้านล่างแล้ว ไม่ต้องรอไปพบเอาเองภายหลัง
แปลงไฟล์ของคุณ
วางไฟล์ JSON ของคุณที่นี่ หรือเลือกไฟล์
ไฟล์ของคุณไม่เคยออกจากอุปกรณ์นี้ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
ไม่มีการอัปโหลด
แปลงจาก JSON
แปลงเป็น JSON
ที่มาของรูปแบบไฟล์เหล่านี้
CSV เป็นรูปแบบที่เก่าแก่ที่สุดและมีมาตรฐานน้อยที่สุด คือตารางที่เขียนเป็นบรรทัดข้อความ ใช้กันมาตั้งแต่ทศวรรษ 1970 และเพิ่งมีการอธิบายเป็นลายลักษณ์อักษรในปี 2005 ซึ่งตอนนั้นโปรแกรมทุกตัวตัดสินใจเองไปแล้วว่าตัวคั่นคืออะไรและเมื่อไหร่ต้องใส่เครื่องหมายคำพูด XML เติบโตมาจาก SGML ในปี 1998 สำหรับเอกสารที่ต้องมีโครงสร้างเข้มงวดและตรวจสอบกับสคีมาได้ JSON ถูกดึงออกมาจาก JavaScript โดย Douglas Crockford ราวปี 2001 โดยตั้งใจตัดให้เหลือเพียงออบเจ็กต์ อาร์เรย์ ตัวเลข และสตริง และความเรียบง่ายนี้เองที่ทำให้มันครองเว็บ YAML เป็นญาติที่อ่านง่ายกว่า โดยการเยื้องบรรทัดทำหน้าที่แทนวงเล็บที่รูปแบบอื่นใช้ สิ่งเดียวที่สำคัญเมื่อแปลงระหว่างรูปแบบเหล่านี้คือ CSV เป็นแบบแบน คือตารางของแถวและคอลัมน์ ส่วน JSON, XML และ YAML เป็นแบบต้นไม้
คุณจะพบรูปแบบไฟล์เหล่านี้ที่ไหน
CSV คือสิ่งที่สเปรดชีตส่งออก และเป็นสิ่งที่นักบัญชี แพลตฟอร์มร้านค้า หรือใบแจ้งยอดบัญชีธนาคารจะมอบให้คุณ JSON คือภาษาที่บริการเว็บใช้สื่อสาร และเป็นรูปแบบที่ไฟล์ตั้งค่าเขียนกันมากขึ้นเรื่อย ๆ XML ยังอยู่ในระบบองค์กรรุ่นเก่า ในมาตรฐานใบแจ้งหนี้ และภายในรูปแบบไฟล์ออฟฟิศเอง YAML เป็นที่ที่คนเขียนค่าตั้งค่าด้วยมือ การแปลงระหว่างรูปแบบเหล่านี้คืองานประจำวันของการย้ายข้อมูลจากที่ที่สร้างขึ้นไปยังที่ที่ต้องใช้
คำถามที่คนมักถาม
ไฟล์ CSV ของฉันเปิดใน Excel แล้วเป็นคอลัมน์เดียว ทำไม
เพราะสเปรดชีตของคุณคาดหวังตัวคั่นอีกแบบหนึ่ง Excel ใช้ตัวคั่นรายการตามการตั้งค่าภูมิภาคของคอมพิวเตอร์ ซึ่งเป็นเครื่องหมายอัฒภาคในทุกที่ที่ใช้จุลภาคเป็นจุดทศนิยมอยู่แล้ว คือส่วนใหญ่ของยุโรปภาคพื้นทวีป ไฟล์ที่คั่นด้วยจุลภาคจึงดูเป็นคอลัมน์ข้อความเดียว ให้ใช้หน้าต่างนำเข้าข้อมูลและระบุตัวคั่นให้ชัดเจน แทนการดับเบิลคลิกที่ไฟล์ การตั้งค่าภูมิภาคเดียวกันนี้ยังเป็นเหตุผลที่ 3.5 บางครั้งกลายเป็นวันที่
ทำไม JSON ที่ซ้อนกันหลายชั้นถึงแปลงเป็นสเปรดชีตเรียบร้อยไม่ได้
เพราะสเปรดชีตเป็นแบบแบน ส่วน JSON เป็นต้นไม้ แถวหนึ่งเก็บได้เพียงหนึ่งค่าต่อหนึ่งคอลัมน์ แต่ออบเจ็กต์ JSON เก็บรายการไว้ในช่องหนึ่งภายในอีกรายการหนึ่งได้ การแปลงจึงหมายถึงการเลือกวิธีทำให้แบน คือรวมชื่อที่ซ้อนกันเป็นหัวคอลัมน์ยาว ๆ หรือซ้ำแถวแม่หนึ่งครั้งต่อลูกแต่ละรายการ ทั้งสองวิธีเป็นการประนีประนอม และไม่มีวิธีใดย้อนกลับอัตโนมัติได้ จึงเป็นเหตุผลที่การย้อนจากสเปรดชีตไปยังรูปทรงเดิมมักต้องให้คนตัดสินใจ
ไฟล์จะสูญเสียคุณภาพหรือไม่?
ขึ้นอยู่กับว่ารูปแบบทั้งสองเก็บอะไรได้บ้าง การแปลงระหว่างรูปแบบที่เก็บสิ่งเดียวกัน เช่น PNG เป็น BMP หรือ WAV เป็น FLAC ไม่สูญเสียอะไรเลย การแปลงไปเป็นรูปแบบที่ทิ้งข้อมูลบางส่วนเพื่อประหยัดพื้นที่ เช่น JPEG หรือ MP3 จะสูญเสียเล็กน้อยทุกครั้ง และการแปลงกลับไม่ได้นำสิ่งที่เสียไปคืนมา เมื่อมีตัวเลือกให้เลือก หน้านี้จะเอนไปทางรักษาคุณภาพเดิมไว้ มากกว่าทำให้ไฟล์เล็กที่สุด
ไฟล์ของฉันถูกอัปโหลดไปที่ใดหรือไม่?
ไม่ การแปลงเกิดขึ้นภายในเบราว์เซอร์ บนเครื่องของคุณเอง ไฟล์ไม่เคยออกจากเครื่อง และที่นี่ไม่มีเซิร์ฟเวอร์ที่จะรับไฟล์ได้ นั่นคือเหตุผลที่ไฟล์ขนาดใหญ่ถูกจำกัดด้วยหน่วยความจำของเครื่องคุณเอง ไม่ใช่ด้วยการอัปโหลด และเหตุผลที่ไม่มีสิ่งใดที่คุณแปลงไปปรากฏในบันทึกของใครได้ รวมถึงของเราด้วย เครื่องมือเสียงและวิดีโอจะดึงเอนจินแปลงไฟล์จากเว็บไซต์นี้ในการใช้ครั้งแรก ประมาณ 30 เมกะไบต์ครั้งเดียว หลังจากนั้นงานก็ยังเกิดขึ้นบนเครื่องของคุณทั้งหมด
ทำไมผู้คนจึงแปลง JSON เป็น YAML
JSON คือรูปแบบการเขียนที่โปรแกรมชอบ เคร่งครัด กะทัดรัด และเข้าใจได้ในทุกภาษา แต่ไม่ค่อยเป็นมิตรกับคน ไฟล์ JSON ยาว ๆ เป็นพงของวงเล็บปีกกา วงเล็บเหลี่ยม เครื่องหมายคำพูดและจุลภาค ไม่มีที่ว่างสำหรับคอมเมนต์ และจุลภาคท้ายสุดที่เกินมาตัวเดียวก็ทำให้ทุกอย่างพังได้ YAML คือรูปแบบที่ผู้คนเลือกเมื่อต้องอ่านและแก้ไขข้อมูลด้วยมือ ใช้การเยื้องบรรทัดแทนวงเล็บปีกกา อนุญาตให้ใส่คอมเมนต์ และอ่านแทบจะเหมือนโครงร่างเนื้อหา จึงกลายเป็นที่นิยมสำหรับการตั้งค่า เช่น ไปป์ไลน์สร้างโปรแกรม ไฟล์กำหนดคอนเทนเนอร์ ไฟล์สำหรับการนำขึ้นใช้งาน การตั้งค่าของเว็บไซต์แบบสถิต และเครื่องมือทำเอกสาร เมื่อข้อมูลมาถึงเป็น JSON และคุณต้องการทำงานกับมันในรูปแบบที่อ่านแล้วสบายตา ก็ต้องมีการแปลง นี่คือเหตุผลที่ผู้คนแปลง JSON เป็น YAML
สถานการณ์เหล่านี้เป็นเรื่องประจำวัน นักพัฒนาที่มีผลลัพธ์ของเครื่องมือเป็น JSON และต้องการเปลี่ยนให้เป็นไฟล์การตั้งค่า ทีมที่ย้ายการตั้งค่าจากระบบหนึ่งไปอีกระบบหนึ่งและชอบรูปแบบที่อ่านง่าย นักเขียนที่อยากอ่านโครงสร้างของคำตอบจาก API โดยไม่มีสิ่งรกรุงรัง หรือนักเรียนที่อยากเห็นว่าวงเล็บปีกกาแปลงเป็นการเยื้องบรรทัดอย่างไร ในทุกกรณี ข้อมูลก็คือข้อมูลเดิม มีเพียงรูปแบบการเขียนที่เปลี่ยน
หน้านี้แปลง JSON เป็น YAML ในเบราว์เซอร์ของคุณ ไฟล์ของคุณถูกอ่านและเขียนที่นี่ จึงไม่ออกจากอุปกรณ์ของคุณเลย ซึ่งสำคัญมากสำหรับไฟล์การตั้งค่า ที่มักมีที่อยู่ ชื่อระบบภายใน และบางครั้งมีความลับ และหน้านี้จะบอกคุณล่วงหน้าว่าการแปลงเก็บอะไรไว้ได้และเก็บอะไรไม่ได้ แทนที่จะปล่อยให้คุณมาพบเอง ด้านล่างนี้คุณจะพบว่าการแปลงทำงานอย่างไร เกิดอะไรขึ้นกับการซ้อนกันลึก ๆ และสตริงยาว ๆ และจะได้ผลลัพธ์ที่เป็นระเบียบได้อย่างไร
การแปลงทำงานอย่างไร
รูปทรงเดียวกันในทั้งสองรูปแบบ
JSON ของคุณถูกอ่านภายในเบราว์เซอร์ของคุณ และโครงสร้างของมันถูกเขียนออกมาเป็น YAML ทั้งสองมีรูปทรงเดียวกัน และทุกอย่างถูกเก็บไว้ทั้งสองทิศทาง ได้แก่ แมป รายการ สตริง ตัวเลข บูลีน และ null อ็อบเจ็กต์ใน JSON กลายเป็นแมปปิงใน YAML อาร์เรย์กลายเป็นซีเควนซ์ และค่าสเกลาร์ยังคงชนิดข้อมูลของมัน คีย์ port ที่มีตัวเลข 8080 ให้ port: 8080 และคีย์ enabled ที่มีค่า true ให้ enabled: true
โครงสร้างที่ซ้ำกันถูกเขียนออกมาครบ
YAML มีวิธีหลีกเลี่ยงการซ้ำ ด้วยแองเคอร์และนามแฝง ตัวแปลงไม่ใช้วิธีนี้ โครงสร้างที่ซ้ำกันถูกเขียนออกมาครบแทนที่จะเป็นแองเคอร์ ไฟล์จึงอ่านได้ตรงจากบนลงล่าง ทำให้ YAML ยาวขึ้นเล็กน้อย แต่ไม่มีอะไรในนั้นที่ต้องไปค้นหาที่อื่น และผู้อ่านทุกคนเข้าใจแต่ละบล็อกได้ด้วยตัวมันเอง
คีย์รักษาลำดับของมัน
คีย์รักษาลำดับตามที่ JSON มี YAML อ่านตามลำดับเดียวกับต้นฉบับ ใครที่รู้จัก JSON จึงหาทางเจอได้ทันที
สิ่งที่ถูกเก็บไว้
ทุกอย่างที่เป็นข้อมูล
ทุกอย่างถูกเก็บไว้ทั้งสองทิศทาง ได้แก่ แมป รายการ สตริง ตัวเลข บูลีน และ null หากเป็นค่าใน JSON ของคุณ ก็เป็นค่าใน YAML โดยมีชนิดข้อมูลเดียวกัน
สตริงที่ต้องได้รับการปกป้อง
สตริงบางตัวจะถูกอ่านผิดใน YAML หากเขียนเปล่า ๆ เช่นคำว่า true ตัวเลขในเครื่องหมายคำพูด หรือข้อความที่มีเครื่องหมายทวิภาค ตัวแปลงจะครอบสตริงเหล่านี้ด้วยเครื่องหมายคำพูด เพื่อให้กลับมาเป็นสตริงและไม่กลายเป็นบูลีนหรือตัวเลข สตริง JSON ที่เขียนว่า “true” จะยังเป็นสตริงใน YAML
ยูนิโค้ด
ตัวอักษรที่มีเครื่องหมายกำกับ สัญลักษณ์ และอักขระจากอักษรอื่นถูกเก็บไว้ตามที่เป็น ไฟล์ที่มีหลายภาษาจึงยังอ่านได้
สิ่งที่คุณควรรู้ก่อนแปลง JSON เป็น YAML
การซ้อนลึกหมายถึงการเยื้องลึก
YAML ใส่ความหมายไว้ในการเยื้องบรรทัด ดังนั้นค่าที่ซ้อนลึกจะกลายเป็นไฟล์ที่เยื้องลึก อ่านได้ แต่ไม่สั้น ต้นไม้ JSON แปดระดับให้บรรทัดที่เริ่มห่างจากขอบซ้ายมาก หากกลายเป็นเรื่องยุ่งยาก ลองพิจารณาทำให้โครงสร้างแบนลงที่ต้นทาง
สตริงยาวถูกตัดบรรทัด
สตริงยาวถูกตัดบรรทัดที่ประมาณหนึ่งร้อยคอลัมน์ ซึ่งเปลี่ยนตำแหน่งที่ขึ้นบรรทัดใหม่โดยไม่เปลี่ยนค่า ย่อหน้าที่เป็นบรรทัดยาวบรรทัดเดียวใน JSON จะปรากฏในหลายบรรทัดใน YAML แต่ก็เป็นข้อความเดียวกัน โปรแกรมที่อ่าน YAML จะได้รับสตริงต้นฉบับ
คอมเมนต์สร้างขึ้นเองไม่ได้
YAML อนุญาตให้ใส่คอมเมนต์ แต่ JSON ไม่มี ผลลัพธ์จึงไม่มี คุณเพิ่มคำอธิบายด้วยมือภายหลังได้ ซึ่งเป็นหนึ่งในเหตุผลหลักที่อยากมีไฟล์ในรูปแบบ YAML ตั้งแต่แรก
วิธีแปลง JSON เป็น YAML ที่นี่
เพิ่มไฟล์ของคุณ
ลากไฟล์ JSON มาวางบนหน้านี้หรือเลือกจากอุปกรณ์ของคุณ ไฟล์จะถูกอ่านภายในเบราว์เซอร์ของคุณและไม่ถูกอัปโหลด
แปลง
กดปุ่ม ไฟล์ขนาดปกติใช้เวลาเพียงครู่เดียว เปิดหน้านี้ค้างไว้จนกว่าจะเสร็จ
ดาวน์โหลดและตรวจสอบ
ดาวน์โหลด YAML แล้วเปิดในโปรแกรมแก้ไขข้อความ ดูตอนต้นและตอนท้าย และตรวจว่าโครงสร้างและชนิดข้อมูลเป็นไปตามที่คุณคาดไว้
มองให้ลึกขึ้นเกี่ยวกับ JSON และ YAML
สองรูปแบบการเขียนสำหรับข้อมูลเดียวกัน
JSON ถูกออกแบบมาให้โปรแกรมอ่านและเขียนง่าย YAML ถูกออกแบบมาให้คนอ่านง่าย ทั้งสองซ้อนทับกันมากจน JSON เกือบเป็นเซตย่อยของ YAML และโปรแกรมอ่าน YAML มักอ่าน JSON ได้ ดังนั้นการแปลง JSON เป็น YAML จึงไม่ใช่การเปลี่ยนข้อมูล แต่เป็นการแต่งตัวใหม่ ในรูปแบบที่มีที่ว่างสำหรับบันทึกและไม่มีเครื่องหมายวรรคตอนรกรุงรัง
ทำไมการเยื้องบรรทัดต้องระมัดระวัง
เนื่องจาก YAML พึ่งพาการเยื้องบรรทัด บรรทัดที่จัดไม่ตรงจะเปลี่ยนความหมาย ตัวแปลงเขียนการเยื้องอย่างสม่ำเสมอ ด้วยช่องว่างและความกว้างเท่ากันทุกระดับ ไฟล์จึงถูกต้องตั้งแต่ตอนสร้าง เมื่อคุณแก้ไขภายหลัง ให้คงความกว้างเดิม และหลีกเลี่ยงแท็บ ซึ่ง YAML ไม่อนุญาตให้ใช้สำหรับการเยื้องบรรทัด
อ่านง่ายแต่ไม่ได้สั้นลงเสมอไป
YAML มักถูกบรรยายว่ากะทัดรัดกว่า JSON เพราะตัดวงเล็บปีกกาและเครื่องหมายคำพูดรอบคีย์ออก สำหรับข้อมูลแบบเรียบ นี่เป็นจริง สำหรับข้อมูลที่ซ้อนลึก การเยื้องบรรทัดอาจทำให้ยาวขึ้นในแง่จำนวนอักขระ สิ่งที่ได้คือความอ่านง่าย ไม่ใช่ขนาด
สถานการณ์ทั่วไปโดยละเอียด
เปลี่ยนผลลัพธ์ของเครื่องมือเป็นการตั้งค่า
เครื่องมือมักพิมพ์การตั้งค่าหรือผลลัพธ์เป็น JSON ให้แปลง JSON เป็น YAML เพิ่มคอมเมนต์ และเก็บไว้เป็นไฟล์การตั้งค่าที่ผู้คนดูแล
ย้ายการตั้งค่าระหว่างระบบ
การย้ายการตั้งค่าจากระบบที่ใช้ JSON ไปยังระบบที่ใช้ YAML คือการแปลงครั้งเดียว ตามด้วยการตรวจว่าปลายทางรับคีย์เหล่านั้น
อ่านคำตอบจาก API
คำตอบของ API อาจยาวเป็นร้อยบรรทัดของวงเล็บปีกกา ใน YAML ข้อมูลเดียวกันอ่านเหมือนโครงร่างเนื้อหา และคุณมองเห็นโครงสร้างได้ในพริบตา
การสอนและเอกสาร
การแสดงข้อมูลเดียวกันในทั้งสองรูปแบบเป็นวิธีที่ดีในการสอนว่าข้อมูลที่มีโครงสร้างทำงานอย่างไร เอกสารที่ใช้ตัวอย่าง YAML มักอ่านง่ายกว่า
คำแนะนำเชิงปฏิบัติก่อนแปลง JSON เป็น YAML
ตรวจว่า JSON ถูกต้อง
จุลภาคเกินหรือเครื่องหมายคำพูดขาดจะหยุดการแปลง หากหน้านี้รายงานข้อผิดพลาด ให้เปิดไฟล์ในโปรแกรมแก้ไขที่ไฮไลต์ปัญหาของ JSON แล้วแก้บรรทัดที่ชี้ไว้
ทำให้แบนเท่าที่ทำได้
หากโครงสร้างลึกกว่าที่จำเป็น ให้ทำให้เรียบง่ายขึ้นก่อน โครงสร้างที่แบนกว่าให้ YAML ที่อ่านและแก้ไขได้ง่ายกว่า
คิดถึงผู้ใช้ปลายทาง
ดูว่าอะไรจะเป็นผู้อ่าน YAML เครื่องมือบางตัวคาดหวังชื่อคีย์และชนิดข้อมูลเฉพาะ และการปรับ JSON ล่วงหน้าง่ายกว่าการแก้ YAML ทีหลัง
ไฟล์ขนาดใหญ่
ทุกอย่างทำงานบนอุปกรณ์ของคุณ ดังนั้นไฟล์ขนาดใหญ่มากต้องใช้หน่วยความจำ สำหรับไฟล์ที่มีขนาดหลายเมกะไบต์ ให้ใช้คอมพิวเตอร์ และแบ่งข้อมูลหากหน้านี้ทำงานติดขัด
คำถามที่ผู้คนถามก่อนแปลง
ข้อมูลของฉันจะถูกเปลี่ยนหรือไม่
ไม่ ทุกอย่างถูกเก็บไว้ทั้งสองทิศทาง ได้แก่ แมป รายการ สตริง ตัวเลข บูลีน และ null
ทำไมสตริงยาวของฉันจึงถูกแบ่งเป็นหลายบรรทัด
สตริงยาวถูกตัดบรรทัดที่ประมาณหนึ่งร้อยคอลัมน์ ซึ่งเปลี่ยนตำแหน่งที่ขึ้นบรรทัดใหม่โดยไม่เปลี่ยนค่า
ทำไมไฟล์ของฉันจึงเยื้องมาก
เพราะข้อมูลซ้อนลึก และ YAML แสดงการซ้อนด้วยการเยื้องบรรทัด
แองเคอร์อยู่ที่ไหน
โครงสร้างที่ซ้ำกันถูกเขียนออกมาครบแทนที่จะเป็นแองเคอร์ ไฟล์จึงอ่านได้ตรงจากบนลงล่าง
ไฟล์ของฉันถูกอัปโหลดหรือไม่
ไม่ การแปลงทำงานในเบราว์เซอร์ของคุณ และไฟล์ไม่ออกจากอุปกรณ์ของคุณเลย
ฉันกลับไปเป็น JSON ได้ไหม
ได้ แปลง YAML เป็น JSON อ่านไฟล์กลับมา แต่คอมเมนต์ที่คุณเพิ่มจะไม่รอดมาด้วย
เลือกให้ดีเมื่อแปลง JSON เป็น YAML
จำเป็นต้องใช้ YAML จริงหรือไม่
หากเครื่องมือผู้รับอ่าน JSON ได้ ก็เก็บ JSON ไว้ แปลงเมื่อผู้คนต้องอ่านและแก้ไขไฟล์ หรือเมื่อเครื่องมือต้องการ YAML
ปลายทางอื่น
หากปลายทางเป็นไฟล์มาร์กอัป แปลง JSON เป็น XML ตามมาได้ สำหรับตาราง แปลง JSON เป็น CSV และ แปลง JSON เป็น XLSX ตอบโจทย์สเปรดชีต
เก็บ JSON ไว้
JSON คือต้นฉบับหากมาจากโปรแกรม ให้เก็บไว้ และสร้าง YAML ใหม่เมื่อมันเปลี่ยน
ให้ได้ผลลัพธ์ที่ดีหลังการแปลง
เพิ่มคอมเมนต์
ผลลัพธ์ไม่มีคอมเมนต์ และนี่คือจุดที่ YAML โดดเด่น เพิ่มบันทึกสั้น ๆ เหนือแต่ละบล็อกเพื่อบอกว่ามันทำอะไรและค่าใดที่อนุญาต
ตรวจชนิดข้อมูล
ดูค่าต่าง ๆ เช่นเวอร์ชัน รหัส และแฟลก ตรวจให้แน่ใจว่าเป็นสตริงในที่ที่คุณหมายถึงสตริง และเป็นตัวเลขในที่ที่คุณหมายถึงตัวเลข
รักษาการเยื้องบรรทัดให้สม่ำเสมอ
เมื่อแก้ไข ให้ใช้ช่องว่างและคงความกว้างเดิมในทุกระดับ โปรแกรมแก้ไขที่แสดงช่องว่างและตรวจ YAML จะช่วยให้คุณไม่พลาด
เตรียม JSON ของคุณให้แปลงได้ดี
ทำให้สม่ำเสมอ
เมื่อคุณแปลง JSON เป็น YAML ข้อมูลที่สม่ำเสมอจะแปลงได้ดีที่สุด คือคีย์ที่คงที่และชนิดข้อมูลที่ชัดเจน ข้อมูลที่ไม่สม่ำเสมอให้ผลลัพธ์ที่ถูกต้องแต่ไม่เป็นระเบียบ
ตั้งชื่อคีย์ให้ชัดเจน
ผู้คนจะอ่าน YAML ดังนั้นเลือกคีย์ที่บอกความหมายของมัน การตั้งค่าดูแลรักษาง่ายขึ้นเมื่อชื่อเรียบง่าย
ทดสอบกับส่วนเล็ก ๆ ก่อน
หากไฟล์ของคุณใหญ่ ให้นำบางส่วนไปไว้ในไฟล์ทดสอบแล้วแปลงไฟล์นั้น การดูผลลัพธ์คร่าว ๆ จะบอกว่าโครงสร้างเป็นอย่างที่คุณคาดไว้หรือไม่
ทำงานกับ YAML หลังจากแปลง JSON เป็น YAML
เพิ่มบันทึกที่ JSON เก็บไม่ได้
สิ่งแรกที่ควรทำกับไฟล์ที่เพิ่งแปลงคืออ่านจากด้านบนและเพิ่มคอมเมนต์ในที่ที่คนแปลกหน้าจะสงสัย บรรทัดสั้น ๆ เหนือส่วนหนึ่งที่บอกว่ามันควบคุมอะไรมีค่ามากกว่าเอกสารหนึ่งหน้าที่เก็บไว้ที่อื่น เพราะมันอยู่ข้างสิ่งที่มันอธิบาย นี่คือข้อได้เปรียบหลักที่คุณได้รับเมื่อแปลง JSON เป็น YAML
จัดกลุ่มการตั้งค่าที่เกี่ยวข้อง
คีย์รักษาลำดับที่มีใน JSON ซึ่งอาจเป็นลำดับที่โปรแกรมบังเอิญสร้างออกมา ใน YAML คุณจัดเรียงใหม่ได้อย่างอิสระเพื่อให้การตั้งค่าที่เกี่ยวข้องอยู่ด้วยกัน โดยเว้นบรรทัดว่างระหว่างกลุ่ม เนื่องจากลำดับของคีย์ในแมปปิงไม่มีความหมายสำหรับผู้อ่านส่วนใหญ่ วิธีนี้จึงปลอดภัย แต่ให้ตรวจเครื่องมือที่คุณใช้ เผื่อมันใส่ใจเรื่องลำดับ
ตรวจสิ่งที่เครื่องมือผู้รับคาดหวัง
ไฟล์ YAML ที่ถูกต้องไม่จำเป็นต้องเป็นการตั้งค่าที่ถูกต้อง เครื่องมือคาดหวังคีย์และชนิดข้อมูลเฉพาะ และบางตัวเข้มงวดกับคีย์ที่ไม่รู้จัก หลังการแปลง ให้เปรียบเทียบไฟล์กับเอกสารของเครื่องมือ และรันตัวตรวจสอบของมันเองหากมี
ใช้ระบบควบคุมเวอร์ชัน
การตั้งค่าใน YAML เปรียบเทียบทีละบรรทัดได้ง่าย จึงเหมาะกับระบบควบคุมเวอร์ชัน คอมมิตไฟล์ที่แปลงแล้วและให้เพื่อนร่วมงานเห็นการเปลี่ยนแปลงแต่ละครั้งเป็นความต่างที่ชัดเจน ซึ่งทำได้ยากกว่ามากกับ JSON แบบย่อบรรทัดเดียว
ระวังความลับ
JSON ที่ส่งออกจากเครื่องมือบางครั้งมีโทเค็นและรหัสผ่านรวมอยู่ด้วย เนื่องจากการแปลงเกิดขึ้นในเบราว์เซอร์ของคุณ จึงไม่มีสิ่งใดออกจากอุปกรณ์ของคุณ แต่ไฟล์ YAML จะมีความลับเดียวกัน ให้ลบออก หรือย้ายไปไว้ในที่ที่ปลอดภัยกว่า ก่อนที่คุณจะคอมมิตหรือแบ่งปันไฟล์
จับตาดูการเยื้องบรรทัดเมื่อแก้ไข
เมื่อคุณเริ่มแก้ไขด้วยมือ ความเสี่ยงหลักคือบรรทัดที่เลื่อนไปผิดที่หนึ่งช่องว่าง ใช้โปรแกรมแก้ไขที่แสดงช่องว่างและตรวจ YAML ขณะที่คุณพิมพ์ และคงความกว้างเท่ากันในทุกระดับ อย่างที่ตัวแปลงทำ
แปลงอีกครั้งเมื่อต้นทางเปลี่ยน
หาก JSON ถูกสร้างโดยโปรแกรมและเปลี่ยนเป็นครั้งคราว ให้แปลง JSON เป็น YAML อีกครั้งสำหรับแต่ละเวอร์ชันใหม่ และรวมคอมเมนต์ของคุณจากไฟล์เก่าเข้ากับไฟล์ใหม่ เครื่องมือเปรียบเทียบทำให้เรื่องนี้เสร็จในไม่กี่นาที
ความเป็นส่วนตัวและการจัดการ
ทำไมการแปลงในเครื่องจึงสำคัญสำหรับการตั้งค่า
ไฟล์การตั้งค่ามักมีที่อยู่ ชื่อระบบภายใน และบางครั้งมีคีย์และรหัสผ่าน ตัวแปลงออนไลน์จำนวนมากอัปโหลดไฟล์ของคุณไปยังเซิร์ฟเวอร์ ประมวลผล แล้วส่งผลลัพธ์กลับมา และสำเนาจะอยู่บนเครื่องที่คุณควบคุมไม่ได้ชั่วระยะหนึ่ง ที่นี่เบราว์เซอร์ของคุณเองเป็นผู้ทำงาน ไฟล์จึงอยู่บนอุปกรณ์ของคุณ
เมื่อคุณออกจากหน้านี้จะเกิดอะไรขึ้น
เมื่อคุณปิดหน้า ไฟล์ที่แปลงแล้วจะหายไปจากเบราว์เซอร์ ดังนั้นให้ดาวน์โหลดก่อน ไม่มีสิ่งใดเกี่ยวกับไฟล์ของคุณถูกเก็บไว้
หากมีสิ่งผิดปกติเกิดขึ้น
หน้าแจ้งว่าไฟล์ไม่ใช่ JSON ที่ถูกต้อง
อาจมีจุลภาคเกิน เครื่องหมายคำพูดขาด หรือวงเล็บที่ไม่ปิด ให้เปิดไฟล์ในโปรแกรมแก้ไขที่ไฮไลต์ข้อผิดพลาดของ JSON แล้วแก้บรรทัดที่ชี้ไว้
เครื่องมือปฏิเสธ YAML
ตรวจชื่อคีย์และชนิดข้อมูลที่เครื่องมือคาดหวัง YAML ถูกต้อง แต่เครื่องมืออาจต้องการชื่ออื่นหรือโครงสร้างอื่น
หน้าค้างเมื่อใช้ไฟล์ขนาดใหญ่
ทุกอย่างทำงานบนอุปกรณ์ของคุณ และไฟล์ขนาดใหญ่ต้องใช้หน่วยความจำ ลองอีกครั้งบนคอมพิวเตอร์ หรือแบ่งข้อมูล
เครื่องมือที่เกี่ยวข้อง
เครื่องมือในตระกูลเดียวกันครอบคลุมงานข้างเคียง หากต้องการย้อนกลับ ให้ใช้ แปลง YAML เป็น JSON สำหรับมาร์กอัป แปลง JSON เป็น XML และ แปลง XML เป็น JSON แปลงระหว่างสองรูปแบบนั้น สำหรับตาราง มี แปลง JSON เป็น CSV, แปลง CSV เป็น JSON, แปลง JSON เป็น XLSX และ แปลง XLSX เป็น JSON
ตัวอย่างการใช้งานจริง
สมมติว่าเครื่องมือตัวหนึ่งพิมพ์การตั้งค่าของมันเป็นไฟล์ JSON ยาว 150 บรรทัด และคุณต้องการเก็บไว้ในรีโพซิทอรีของคุณเป็นการตั้งค่าที่เพื่อนร่วมงานอ่านและคอมเมนต์ได้ คุณลากไฟล์มาวางที่นี่แล้วกดปุ่ม ครู่เดียวต่อมาคุณดาวน์โหลด YAML ประมาณ 90 บรรทัดที่โครงสร้างอ่านเหมือนโครงร่างเนื้อหา คุณเพิ่มคอมเมนต์เหนือแต่ละส่วน คอมมิต แล้วบอกทีมว่าจะแก้ไขที่ไหน JSON ยังคงอยู่ในฐานะผลลัพธ์ของเครื่องมือ
รายการตรวจสอบสั้น ๆ
ก่อนแปลง
ตรวจว่า JSON ถูกต้อง ทำให้การซ้อนลึกเรียบง่ายขึ้นหากทำได้ เก็บ JSON ไว้
ระหว่างแปลง
อยู่บนหน้านี้จนกว่าไฟล์จะพร้อม
หลังแปลง
เปิด YAML ตรวจโครงสร้างและชนิดข้อมูล เพิ่มคอมเมนต์ และทดสอบกับเครื่องมือที่จะอ่านมัน
ข้อผิดพลาดที่พบบ่อย
คาดหวังไฟล์ที่สั้นลง
การซ้อนลึกทำให้เยื้องลึก YAML อ่านง่ายขึ้น แต่ไม่ได้เล็กลงเสมอไป
แก้ไขด้วยแท็บ
YAML ไม่อนุญาตให้ใช้แท็บสำหรับการเยื้องบรรทัด ให้ใช้ช่องว่าง
ทำต้นฉบับหาย
หาก JSON มาจากโปรแกรม ให้เก็บไว้ และสร้าง YAML ใหม่เมื่อมันเปลี่ยน
ไฟล์ของคุณอยู่บนอุปกรณ์ของคุณ
การแปลงเกิดขึ้นในเครื่อง ไฟล์ของคุณถูกอ่านโดยเบราว์เซอร์ของคุณเอง เขียนใหม่ที่นั่น และส่งกลับมาเป็น YAML ไม่มีอะไรถูกอัปโหลด จึงไม่มีสำเนาไปอยู่บนเซิร์ฟเวอร์ และไม่มีใครอ่านได้ สำหรับการตั้งค่าที่มีเนื้อหาส่วนตัว นี่คือวิธีที่ปลอดภัยในการแปลง JSON เป็น YAML
สรุป
หากต้องการแปลง JSON เป็น YAML ที่นี่ ให้ลากไฟล์มาวางแล้วกดปุ่ม ไฟล์ถูกอ่านและเขียนในเบราว์เซอร์ของคุณ จึงไม่ออกจากอุปกรณ์ของคุณเลย ทุกอย่างถูกเก็บไว้ทั้งสองทิศทาง ได้แก่ แมป รายการ สตริง ตัวเลข บูลีน และ null โครงสร้างที่ซ้ำกันถูกเขียนออกมาครบแทนที่จะเป็นแองเคอร์ ไฟล์จึงอ่านได้ตรงจากบนลงล่าง YAML ใส่ความหมายไว้ในการเยื้องบรรทัด ดังนั้นค่าที่ซ้อนลึกจะกลายเป็นไฟล์ที่เยื้องลึก อ่านได้ แต่ไม่สั้น สตริงยาวถูกตัดบรรทัดที่ประมาณหนึ่งร้อยคอลัมน์ ซึ่งเปลี่ยนตำแหน่งที่ขึ้นบรรทัดใหม่โดยไม่เปลี่ยนค่า คีย์รักษาลำดับตามที่ JSON มี