แปลง JSON เป็น XML JavaScript Object Notation ↔ Extensible Markup Language ฟรี ออนไลน์ ปลอดภัย
วางไฟล์ JSON ของคุณลงมา แล้วรับ XML กลับไป ไฟล์ถูกอ่านและเขียนที่นี่ ในเบราว์เซอร์ของคุณ จึงไม่ออกจากอุปกรณ์ของคุณ — และสิ่งที่การแปลงเก็บไว้ได้ กับสิ่งที่เก็บไว้ไม่ได้ ก็เขียนไว้ด้านล่างแล้ว ไม่ต้องรอไปพบเอาเองภายหลัง
แปลงไฟล์ของคุณ
วางไฟล์ 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 เป็น XML
JSON คือภาษาของโค้ดเว็บสมัยใหม่ เบา อ่านง่าย และเข้าใจได้ในทุกภาษาโปรแกรม XML เป็นพี่น้องที่เก่ากว่าและเป็นทางการกว่า เขียนด้วยแท็กที่เปิดและปิด และยังเป็นรูปแบบที่ต้องใช้ในหลายแห่งอย่างน่าประหลาดใจ โปรแกรมบัญชี ระบบภาษีและศุลกากร แพลตฟอร์มจัดซื้อจัดจ้างภาครัฐ ฟีดสินค้า ขั้นตอนงานสิ่งพิมพ์ ซอฟต์แวร์องค์กร และบริการเว็บรุ่นเก่าอีกมากมาย ล้วนคาดหวัง XML เมื่อข้อมูลของคุณอยู่ใน JSON และระบบที่ต้องรับข้อมูลใช้ XML ก็ต้องมีการแปลง นี่คือเหตุผลที่ผู้คนแปลง JSON เป็น XML พวกเขามีข้อมูลในรูปแบบหนึ่ง แต่ปลายทางเรียกร้องอีกรูปแบบหนึ่ง
สถานการณ์เหล่านี้พบได้ทั่วไป นักพัฒนาที่ต้องส่งข้อมูลจากแอปพลิเคชันสมัยใหม่ไปยังบริการที่สร้างไว้เมื่อหลายปีก่อน ร้านค้าที่ส่งออกสินค้าเป็น JSON และต้องส่งฟีดให้ตลาดกลางที่ต้องการ XML ทีมที่ต้องการค่าการตั้งค่าในรูปแบบมาร์กอัปที่เครื่องมือชอบ หรือนักเรียนที่อยากเห็นว่าข้อมูลเดียวกันหน้าตาเป็นอย่างไรในทั้งสองรูปแบบ ในทุกกรณี เนื้อหาพร้อมแล้ว มีเพียงรูปแบบการเขียนที่ต่างกัน
หน้านี้แปลง JSON เป็น XML ในเบราว์เซอร์ของคุณ ไฟล์ของคุณถูกอ่านและเขียนที่นี่ จึงไม่ออกจากอุปกรณ์ของคุณเลย ซึ่งสำคัญมากสำหรับคำสั่งซื้อ ใบแจ้งหนี้ และข้อมูลส่วนตัวอื่น ๆ และหน้านี้จะบอกคุณล่วงหน้าว่าการแปลงเก็บอะไรไว้ได้และเก็บอะไรไม่ได้ แทนที่จะปล่อยให้คุณมาพบเอง ด้านล่างนี้คุณจะพบว่าการแปลงทำงานอย่างไร ชื่อ รายการ และแอตทริบิวต์ถูกจัดการอย่างไร และจะทำอย่างไรกับคีย์ที่ XML รับไม่ได้
การแปลงทำงานอย่างไร
ต้นไม้ทั้งต้นถูกส่งผ่านไป
ไฟล์ JSON ของคุณถูกอ่านภายในเบราว์เซอร์ของคุณ และต้นไม้ทั้งต้นถูกเขียนออกมาเป็น XML อ็อบเจ็กต์กลายเป็นเอลิเมนต์ คีย์ของอ็อบเจ็กต์กลายเป็นชื่อของเอลิเมนต์ลูก และค่ากลายเป็นข้อความข้างใน การซ้อนกันใน JSON คือการซ้อนกันใน XML รูปทรงที่คุณเห็นในวงเล็บปีกกาจึงเป็นรูปทรงที่คุณได้ในแท็ก
เอกสารถูกตั้งชื่อตามคีย์เดียว
เอกสาร XML ต้องมีเอลิเมนต์รากเพียงหนึ่งเดียว หากอ็อบเจ็กต์ JSON ของคุณมีคีย์เดียว คีย์นั้นจะตั้งชื่อเอกสาร นี่คือกรณีที่สะดวก ไฟล์ XML ที่แปลงเป็น JSON แล้วแปลงกลับมาจะดูเหมือนตัวมันเอง เพราะเอลิเมนต์รากกลายเป็นคีย์เดียวและกลับมาเป็นเอลิเมนต์ราก หาก JSON ของคุณมีหลายคีย์ที่ระดับบนสุด ตัวแปลงจะห่อไว้ในเอลิเมนต์รากเพื่อให้ผลลัพธ์มีรูปแบบถูกต้อง
รายการทำให้เอลิเมนต์ซ้ำ
อาร์เรย์ทำให้เอลิเมนต์ของมันซ้ำ คีย์ products ที่เก็บรายการของสามระเบียนจะให้เอลิเมนต์ product สามตัวต่อกัน ซึ่งเป็นวิธีที่ XML แสดงรายการ ลำดับถูกรักษาไว้
สิ่งที่ถูกเก็บไว้
ต้นไม้ทั้งต้น
ทุกอ็อบเจ็กต์ ทุกรายการ และทุกค่าถูกส่งผ่านไป ไม่มีอะไรถูกตัดทิ้ง และการซ้อนกันก็เหมือนต้นฉบับ
แอตทริบิวต์ ผ่านเครื่องหมาย @
คีย์ที่ขึ้นต้นด้วย @ จะกลายเป็นแอตทริบิวต์ ระเบียนที่มีคีย์ @id และคีย์ name จะให้เอลิเมนต์ที่มีแอตทริบิวต์ id และเอลิเมนต์ลูก name นี่เป็นแบบแผนเดียวกับที่การแปลงในทิศตรงข้ามใช้ ดังนั้น XML ที่แปลงเป็น JSON แล้วแปลงกลับมาจะยังคงแอตทริบิวต์ไว้
ลำดับ
คีย์รักษาลำดับที่ปรากฏใน JSON เอลิเมนต์ใน XML จึงเรียงตามลำดับของต้นฉบับ
สิ่งที่คุณควรรู้ก่อนแปลง JSON เป็น XML
คีย์ JSON เป็นคำอะไรก็ได้ แต่ชื่อ XML ไม่ได้
คีย์ JSON จะเป็นคำ ตัวเลข หรือวลีที่มีช่องว่างก็ได้ ส่วนชื่อเอลิเมนต์ XML ไม่ได้ ต้องขึ้นต้นด้วยตัวอักษรหรือขีดล่าง และมีได้เฉพาะตัวอักษร ตัวเลข ยัติภังค์ ขีดล่าง และจุด แต่ไม่มีช่องว่าง คีย์ที่ไม่ใช่ชื่อที่ถูกต้องจะไม่ถูกบิดเบือนให้เป็นชื่อนั้น แต่จะกลายเป็นเอลิเมนต์ item ที่มีแอตทริบิวต์ name เขียนเป็น item name="คีย์ดั้งเดิม" ต้นฉบับจึงยังอยู่ในไฟล์และยังหาพบ ไม่มีอะไรถูกเปลี่ยนชื่ออย่างเงียบ ๆ
ไม่มีเนมสเปซ ไม่มีสคีมา
ไม่มีสิ่งใดถูกใส่เนมสเปซ และไม่มีสิ่งใดถูกกำหนดสคีมา ผลลัพธ์มีรูปแบบถูกต้อง แต่ไม่ได้ผ่านการตรวจสอบความถูกต้อง โปรแกรมอ่าน XML ใดก็อ่านได้ แต่จะตรงกับโครงสร้างเฉพาะที่ระบบภาษีหรือตลาดกลางกำหนดหรือไม่ เป็นอีกคำถามหนึ่ง และมีเพียงฝ่ายผู้รับเท่านั้นที่ตอบได้ หากสคีมากำหนดชื่อเอลิเมนต์บางชื่อ คุณจะต้องทำให้คีย์ JSON ตรงกับชื่อเหล่านั้นไว้ล่วงหน้า
ค่าเป็นข้อความ
XML ไม่มีชนิดข้อมูล ทุกค่าในแท็กเป็นข้อความ ตัวเลข true, false และ null ถูกเขียนเป็นข้อความของมัน โปรแกรมที่อ่าน XML ต้องตีความตามที่เห็นสมควร
วิธีแปลง JSON เป็น XML ที่นี่
เพิ่มไฟล์ของคุณ
ลากไฟล์ JSON มาวางบนหน้านี้หรือเลือกจากอุปกรณ์ของคุณ ไฟล์จะถูกอ่านภายในเบราว์เซอร์ของคุณและไม่ถูกอัปโหลด
แปลง
กดปุ่ม ไฟล์ขนาดปกติใช้เวลาเพียงครู่เดียว เปิดหน้านี้ค้างไว้จนกว่าจะเสร็จ
ดาวน์โหลดและตรวจสอบ
ดาวน์โหลด XML แล้วเปิดในโปรแกรมแก้ไขข้อความหรือเบราว์เซอร์ ดูตอนต้นและตอนท้าย และตรวจว่าชื่อเอลิเมนต์เป็นไปตามที่คุณคาดไว้ และแอตทริบิวต์ปรากฏในที่ที่คุณตั้งใจ
มองให้ลึกขึ้นเกี่ยวกับ JSON และ XML
สองวิธีในการเขียนต้นไม้
ทั้ง JSON และ XML อธิบายต้นไม้ของค่า JSON เขียนด้วยวงเล็บปีกกาและวงเล็บเหลี่ยม และรู้จักเพียงอ็อบเจ็กต์ รายการ สตริง ตัวเลข บูลีน และ null XML เขียนด้วยแท็กที่เปิดและปิด และเพิ่มแอตทริบิวต์ เนมสเปซ และเนื้อหาผสม ทั้งสองซ้อนทับกันได้ดีสำหรับข้อมูล เช่นระเบียนและการตั้งค่า และซ้อนทับกันได้ไม่ดีสำหรับเอกสารที่ข้อความกับมาร์กอัปสอดแทรกกัน
ทำไมแบบแผนจึงสำคัญ
JSON ไม่มีแอตทริบิวต์ ไม่มีเอลิเมนต์ราก และไม่มีแนวคิดเรื่องการทำเอลิเมนต์ซ้ำ ดังนั้นทุกการแปลงจึงต้องมีแบบแผน คือ @ สำหรับแอตทริบิวต์ คีย์เดียวสำหรับราก และการทำเอลิเมนต์ซ้ำสำหรับรายการ แบบแผนที่ใช้ที่นี่เรียบง่ายและสม่ำเสมอ และตรงกับแบบแผนที่ใช้เมื่อแปลงจาก XML เป็น JSON ซึ่งทำให้การแปลงไปกลับใช้ได้ในกรณีทั่วไป
ค่าว่าง
สตริงว่างและ null ลงเอยเป็นเอลิเมนต์ว่างเหมือนกัน หากความต่างนี้สำคัญต่อระบบผู้รับ ให้ทำเครื่องหมายไว้ในข้อมูลก่อนที่คุณจะแปลง JSON เป็น XML เช่นด้วยแฟลกแยกต่างหาก
สถานการณ์ทั่วไปโดยละเอียด
ฟีดสำหรับตลาดกลางและเว็บไซต์เปรียบเทียบราคา
หลายแพลตฟอร์มขอฟีดสินค้าเป็น XML หากซอฟต์แวร์ร้านค้าของคุณส่งออก JSON ให้แปลง JSON เป็น XML ตรวจชื่อเอลิเมนต์เทียบกับข้อกำหนดของแพลตฟอร์ม แล้วอัปโหลด
บริการรุ่นเก่าและระบบองค์กร
ระบบที่สร้างขึ้นในยุคของ SOAP และ API ยุคแรกคาดหวัง XML แอปพลิเคชันสมัยใหม่สามารถสร้าง JSON แล้วแปลงให้ระบบเหล่านั้นได้
การตั้งค่าสำหรับเครื่องมือที่ชอบ XML
เครื่องมือสร้างโปรแกรม ระบบจัดการเนื้อหา และโปรแกรมเดสก์ท็อปบางตัวอ่านการตั้งค่าจาก XML การตั้งค่าที่เขียนเป็น JSON สามารถเปลี่ยนเป็นรูปแบบที่เครื่องมือเหล่านั้นต้องการได้
การเรียนรู้และการเปรียบเทียบ
การเห็นข้อมูลเดียวกันในทั้งสองรูปแบบเป็นวิธีที่ดีในการเข้าใจว่าต่างกันอย่างไร วาง JSON เล็ก ๆ แปลง แล้วเปรียบเทียบทั้งสองแบบเคียงข้างกัน
คำแนะนำเชิงปฏิบัติก่อนแปลง JSON เป็น XML
ตรวจว่า JSON ถูกต้อง
จุลภาคเกินหรือเครื่องหมายคำพูดขาดจะหยุดการแปลง หากหน้านี้รายงานข้อผิดพลาด ให้เปิดไฟล์ในโปรแกรมแก้ไขที่ไฮไลต์ปัญหาของ JSON แล้วแก้บรรทัดที่ชี้ไว้
ทำให้คีย์เป็นชื่อเอลิเมนต์ที่ถูกต้อง
หากคุณรู้ว่า XML จะถูกตรวจเทียบกับสคีมา ให้ใช้คีย์ที่เป็นชื่อที่ถูกต้องและตรงกับสคีมา มิฉะนั้นตัวแปลงจะเก็บคีย์เหล่านั้นไว้อย่างปลอดภัยเป็นเอลิเมนต์ item ซึ่งถูกต้อง แต่อาจไม่ใช่สิ่งที่ผู้รับคาดหวัง
เลือกคีย์ระดับบนสุดเพียงคีย์เดียว
หากคุณต้องการให้เอลิเมนต์รากของ XML มีชื่อเฉพาะ ให้ห่อข้อมูลของคุณในอ็อบเจ็กต์ที่มีคีย์เดียวนั้นก่อนที่คุณจะแปลง JSON เป็น XML
ไฟล์ขนาดใหญ่
ทุกอย่างทำงานบนอุปกรณ์ของคุณ ดังนั้นไฟล์ขนาดใหญ่มากต้องใช้หน่วยความจำ สำหรับไฟล์ที่มีขนาดหลายเมกะไบต์ ให้ใช้คอมพิวเตอร์ และแบ่งข้อมูลหากหน้านี้ทำงานติดขัด
คำถามที่ผู้คนถามก่อนแปลง
อะไรตั้งชื่อเอลิเมนต์ราก
อ็อบเจ็กต์ที่มีคีย์เดียวจะตั้งชื่อเอกสารตามคีย์นั้น
จะได้แอตทริบิวต์อย่างไร
ให้ขึ้นต้นคีย์ด้วย @ คีย์นั้นจะกลายเป็นแอตทริบิวต์ของเอลิเมนต์
คีย์ที่มีช่องว่างจะเกิดอะไรขึ้น
ไม่ใช่ชื่อเอลิเมนต์ที่ถูกต้อง จึงกลายเป็นเอลิเมนต์ item ที่มีแอตทริบิวต์ name เก็บคีย์ดั้งเดิมไว้ ไม่มีอะไรสูญหาย
XML จะผ่านการตรวจสคีมาหรือไม่
ผลลัพธ์มีรูปแบบถูกต้อง แต่ไม่ได้ผ่านการตรวจสอบความถูกต้อง ว่าจะตรงกับสคีมาที่กำหนดหรือไม่ขึ้นอยู่กับชื่อเอลิเมนต์และโครงสร้างของคุณ
ไฟล์ของฉันถูกอัปโหลดหรือไม่
ไม่ การแปลงทำงานในเบราว์เซอร์ของคุณ และไฟล์ไม่ออกจากอุปกรณ์ของคุณเลย
ฉันกลับไปเป็น JSON ได้ไหม
ได้ แปลง XML เป็น JSON อ่านต้นไม้ XML กลับมา โดยใช้แบบแผนเดียวกันสำหรับแอตทริบิวต์
เลือกให้ดีเมื่อแปลง JSON เป็น XML
จำเป็นต้องใช้ XML จริงหรือไม่
หากระบบผู้รับรับ JSON ได้ ก็ใช้ JSON แปลงเฉพาะเมื่อต้องใช้ XML
ปลายทางอื่น
สำหรับการตั้งค่าที่คนแก้ไข แปลง JSON เป็น YAML อ่านสบายกว่า สำหรับตาราง แปลง JSON เป็น CSV และ แปลง JSON เป็น XLSX ตอบโจทย์สเปรดชีต
เก็บ JSON ไว้
JSON คือต้นฉบับ มันเก็บชนิดข้อมูลไว้ ให้เก็บมันไว้ และถือว่า XML เป็นสำเนาที่ทำขึ้นสำหรับผู้รับเฉพาะราย
ให้ได้ผลลัพธ์ที่ดีหลังการแปลง
เปิดในเบราว์เซอร์
เบราว์เซอร์แสดง XML เป็นต้นไม้ที่ยุบและขยายได้ เปิดไฟล์แล้วขยายเอลิเมนต์ หากโครงสร้างดูเหมือนที่คุณคาดไว้ แสดงว่าสมบูรณ์ดี
เปรียบเทียบบางระเบียนกับต้นฉบับ
เลือกสองสามระเบียนตรงกลางแล้วตรวจเทียบกับ JSON ใช้เวลาเพียงหนึ่งนาทีและบอกคุณว่าการแปลงถูกต้องตรงตามต้นฉบับ
เพิ่มสิ่งที่ผู้รับต้องการ
หากผู้รับขอบรรทัดประกาศ เนมสเปซ หรือการอ้างอิงสไตล์ชีต ให้เพิ่มในโปรแกรมแก้ไขข้อความ สิ่งเหล่านี้ไม่ใช่ส่วนของข้อมูลและไม่ได้ถูกเขียนให้คุณ
เตรียม JSON ของคุณให้แปลงได้ดี
ใช้โครงสร้างที่สม่ำเสมอ
เมื่อคุณแปลง JSON เป็น XML ข้อมูลที่สม่ำเสมอจะแปลงได้ดีที่สุด คือรายการของระเบียนที่ใช้คีย์เดียวกัน โดยแต่ละคีย์เป็นชื่อที่ถูกต้อง ข้อมูลที่ไม่สม่ำเสมอจะให้ผลลัพธ์ที่ถูกต้องแต่ไม่เป็นระเบียบ
ตัดสินใจว่าอะไรเป็นแอตทริบิวต์
ตัวระบุ รหัส และแฟลกมักเป็นแอตทริบิวต์ใน XML ให้ทำเครื่องหมายใน JSON ด้วย @ แล้วผลลัพธ์จะดูเหมือน XML ที่คนเขียนเอง
ทดสอบกับส่วนเล็ก ๆ ก่อน
หากไฟล์ของคุณใหญ่ ให้นำระเบียนแรก ๆ ไปไว้ในไฟล์ทดสอบแล้วแปลงไฟล์นั้น การดูผลลัพธ์คร่าว ๆ จะบอกว่ารูปทรงเป็นอย่างที่คุณคาดไว้หรือไม่
ทำให้ XML เหมาะกับผู้รับ
ดูข้อกำหนดก่อน
ก่อนที่คุณจะแปลง JSON เป็น XML สำหรับตลาดกลาง พอร์ทัลภาษี หรือคู่ค้า ให้อ่านสิ่งที่พวกเขาขอ ส่วนใหญ่เผยแพร่คำอธิบายเอลิเมนต์ที่คาดหวัง ลำดับ และรายการที่จำเป็น การปรับชื่อคีย์ของคุณให้สอดคล้องใช้เวลาไม่กี่นาทีใน JSON และช่วยหลีกเลี่ยงการอัปโหลดล้มเหลวภายหลัง
ลำดับอาจสำคัญ
สคีมา XML บางแบบกำหนดให้เอลิเมนต์อยู่ในลำดับตายตัว ตัวแปลงรักษาลำดับของคีย์ของคุณ ดังนั้นหากผู้รับยืนยันลำดับใดลำดับหนึ่ง ให้เขียนคีย์ JSON ตามลำดับนั้น ผลลัพธ์จะเป็นไปตามที่คุณเขียนทุกประการ
เพิ่มบรรทัดประกาศหากจำเป็น
บรรทัดที่ด้านบนซึ่งระบุเวอร์ชันและการเข้ารหัสเป็นธรรมเนียม และผู้รับบางรายยืนกรานให้มี บรรทัดนี้ไม่ใช่ส่วนของข้อมูล จึงไม่ได้ถูกเขียนให้คุณ ให้เพิ่มด้วยมือในโปรแกรมแก้ไขข้อความ ก่อนเอลิเมนต์แรก
ระวังอักขระพิเศษ
เครื่องหมายแอมเปอร์แซนด์ วงเล็บมุม และเครื่องหมายคำพูดภายในค่าจะถูกเขียนในรูปแบบที่ถูกหลีก ดังนั้น XML จึงยังคงถูกต้องไม่ว่าข้อความจะมีอะไร คุณไม่ต้องเตรียมสิ่งเหล่านี้ใน JSON
เก็บตัวอย่างที่ได้รับการยอมรับไว้
เมื่อผู้รับยอมรับไฟล์ ให้เก็บสำเนาของไฟล์นั้นทุกประการและของ JSON ที่สร้างมัน เมื่อการอัปโหลดครั้งหลังล้มเหลว การเปรียบเทียบกับไฟล์ที่ใช้ได้จะพบความต่างทันที
แปลงซ้ำแทนการแก้ด้วยมือ
เมื่อข้อมูลเปลี่ยน ให้แก้ JSON แล้วแปลง JSON เป็น XML อีกครั้ง การแก้ XML ด้วยมือทำให้มีสองเวอร์ชันที่ค่อย ๆ เบี่ยงห่างกัน
ความเป็นส่วนตัวและการจัดการ
ทำไมการแปลงในเครื่องจึงสำคัญสำหรับข้อมูล
ไฟล์ข้อมูลมักมีสิ่งที่เป็นส่วนตัว เช่น ลูกค้า คำสั่งซื้อ ใบแจ้งหนี้ และการตั้งค่า ตัวแปลงออนไลน์จำนวนมากอัปโหลดไฟล์ของคุณไปยังเซิร์ฟเวอร์ ประมวลผล แล้วส่งผลลัพธ์กลับมา และสำเนาจะอยู่บนเครื่องที่คุณควบคุมไม่ได้ชั่วระยะหนึ่ง ที่นี่เบราว์เซอร์ของคุณเองเป็นผู้ทำงาน ข้อมูลจึงอยู่บนอุปกรณ์ของคุณ
เมื่อคุณออกจากหน้านี้จะเกิดอะไรขึ้น
เมื่อคุณปิดหน้า ไฟล์ที่แปลงแล้วจะหายไปจากเบราว์เซอร์ ดังนั้นให้ดาวน์โหลดก่อน ไม่มีสิ่งใดเกี่ยวกับข้อมูลของคุณถูกเก็บไว้
หากมีสิ่งผิดปกติเกิดขึ้น
หน้าแจ้งว่าไฟล์ไม่ใช่ JSON ที่ถูกต้อง
อาจมีจุลภาคเกิน เครื่องหมายคำพูดขาด หรือวงเล็บที่ไม่ปิด ให้เปิดไฟล์ในโปรแกรมแก้ไขที่ไฮไลต์ข้อผิดพลาดของ JSON แล้วแก้บรรทัดที่ชี้ไว้
ผู้รับปฏิเสธ XML
ผลลัพธ์มีรูปแบบถูกต้องแต่ไม่ได้ผ่านการตรวจสอบความถูกต้อง ให้เปรียบเทียบกับข้อกำหนดของผู้รับ แล้วปรับชื่อคีย์และโครงสร้างของ JSON
หน้าค้างเมื่อใช้ไฟล์ขนาดใหญ่
ทุกอย่างทำงานบนอุปกรณ์ของคุณ และไฟล์ขนาดใหญ่ต้องใช้หน่วยความจำ ลองอีกครั้งบนคอมพิวเตอร์ หรือแบ่งข้อมูล
เครื่องมือที่เกี่ยวข้อง
เครื่องมือในตระกูลเดียวกันครอบคลุมงานข้างเคียง หากต้องการย้อนกลับ ให้ใช้ แปลง XML เป็น JSON สำหรับไฟล์การตั้งค่า แปลง JSON เป็น YAML และ แปลง YAML เป็น JSON แปลงระหว่างสองรูปแบบนั้น สำหรับตาราง มี แปลง JSON เป็น CSV, แปลง CSV เป็น JSON, แปลง JSON เป็น XLSX และ แปลง XLSX เป็น JSON
ตัวอย่างการใช้งานจริง
สมมติว่าซอฟต์แวร์ร้านค้าของคุณส่งออกสินค้า 300 รายการเป็น JSON และตลาดกลางขอฟีด XML ที่มีเอลิเมนต์รากชื่อ catalogue คุณห่อรายการของคุณในอ็อบเจ็กต์ที่มีคีย์เดียวคือ catalogue ลากไฟล์มาวางที่นี่ แล้วกดปุ่ม ครู่เดียวต่อมาคุณดาวน์โหลด XML ที่มีรากเป็น catalogue และมีเอลิเมนต์ product 300 ตัว แต่ละตัวมี id เป็นแอตทริบิวต์เพราะคุณเขียนคีย์เป็น @id คุณอัปโหลดฟีด และตลาดกลางยอมรับ JSON ยังคงอยู่ในโฟลเดอร์ของคุณในฐานะต้นฉบับ
รายการตรวจสอบสั้น ๆ
ก่อนแปลง
ตรวจว่า JSON ถูกต้อง เลือกชื่อราก ทำเครื่องหมายแอตทริบิวต์ด้วย @ เก็บ JSON ไว้
ระหว่างแปลง
อยู่บนหน้านี้จนกว่าไฟล์จะพร้อม
หลังแปลง
เปิด XML ตรวจชื่อเอลิเมนต์ แอตทริบิวต์ และรายการ แล้วทดสอบกับผู้รับ
ข้อผิดพลาดที่พบบ่อย
คิดว่าผลลัพธ์ผ่านการตรวจสอบความถูกต้องแล้ว
XML มีรูปแบบถูกต้อง แต่ไม่ได้ถูกตรวจเทียบกับสคีมาใด ๆ ให้ตรวจสอบเทียบกับกฎของผู้รับ
ใช้คีย์ที่มีช่องว่างหรือสัญลักษณ์
คีย์เหล่านั้นจะกลายเป็นเอลิเมนต์ item ที่มีแอตทริบิวต์ name ให้ใช้ชื่อที่ถูกต้องหากผู้รับคาดหวัง
ลบ JSON ทิ้ง
เก็บไว้ มันเก็บชนิดข้อมูลที่ XML เก็บไม่ได้
ข้อมูลของคุณอยู่บนอุปกรณ์ของคุณ
การแปลงเกิดขึ้นในเครื่อง ไฟล์ของคุณถูกอ่านโดยเบราว์เซอร์ของคุณเอง เขียนใหม่ที่นั่น และส่งกลับมาเป็น XML ไม่มีอะไรถูกอัปโหลด จึงไม่มีสำเนาไปอยู่บนเซิร์ฟเวอร์ และไม่มีใครอ่านได้ สำหรับข้อมูลที่มีเนื้อหาส่วนตัว นี่คือวิธีที่ปลอดภัยในการแปลง JSON เป็น XML
สรุป
หากต้องการแปลง JSON เป็น XML ที่นี่ ให้ลากไฟล์มาวางแล้วกดปุ่ม ไฟล์ถูกอ่านและเขียนในเบราว์เซอร์ของคุณ จึงไม่ออกจากอุปกรณ์ของคุณเลย ต้นไม้ทั้งต้นถูกเก็บไว้ อ็อบเจ็กต์ที่มีคีย์เดียวจะตั้งชื่อเอกสารตามคีย์นั้น ไฟล์ XML ที่แปลงเป็น JSON แล้วแปลงกลับมาจึงดูเหมือนตัวมันเอง อาร์เรย์ทำให้เอลิเมนต์ของมันซ้ำ คีย์ที่ขึ้นต้นด้วย @ จะกลายเป็นแอตทริบิวต์ คีย์ JSON จะเป็นคำอะไรก็ได้ แต่ชื่อเอลิเมนต์ XML ไม่ได้ คีย์ที่ไม่ใช่ชื่อที่ถูกต้องจะไม่ถูกบิดเบือนให้เป็นชื่อนั้น แต่จะกลายเป็นเอลิเมนต์ item ที่มีแอตทริบิวต์ name ต้นฉบับจึงยังอยู่ในไฟล์และยังหาพบ ไม่มีสิ่งใดถูกใส่เนมสเปซ และไม่มีสิ่งใดถูกกำหนดสคีมา ผลลัพธ์มีรูปแบบถูกต้อง แต่ไม่ได้ผ่านการตรวจสอบความถูกต้อง