เครื่องแปลงข้อมูลจาก INI เป็น JSON
ไฟล์ INI เป็นรูปแบบการกำหนดค่าแบบคีย์-ค่าที่เรียบง่าย ซึ่งยังคงพบได้ในแอปพลิเคชันของ Windows, ไฟล์ php.ini ของ PHP เอง และโปรแกรมดำเนินการทดสอบ (CI runner) หลายตัว ส่วน JSON คือรูปแบบที่ไลบรารีสมัยใหม่ส่วนใหญ่คาดหวังไว้ โปรแกรมแปลงนี้จะวิเคราะห์ไฟล์ INI โดยยึดถือโครงสร้างของแต่ละส่วน (section), บรรทัด key = value และคำอธิบายที่เขียนด้วยเครื่องหมายจุดคู่ (semicolon), และแปลงข้อมูลให้อยู่ในรูปแบบ JSON โดยที่แต่ละส่วนจะถูกแทนด้วยออบเจกต์
วิธีแปลงไฟล์ INI เป็น JSON
-
1
วางเนื้อหาของไฟล์ INI
ส่วนที่อยู่ในวงเล็บกำลังสอง มีคู่ของคีย์และค่าอยู่ด้านล่าง
-
2
การแยกข้อความ
คำแสดงความคิดเห็น (“;” และ “#”) รวมถึงบรรทัดว่างจะถูกลบออกไป ส่วนช่องว่างรอบเครื่องหมาย “=” จะไม่ถูกพิจารณา
-
3
แปลงเป็น JSON
แต่ละส่วนจะกลายเป็นออบเจกต์ JSON ส่วนคีย์ระดับสูงสุดที่อยู่นอกส่วนใดๆ จะถูกนำไปยังรากของโครงสร้าง
-
4
คัดลอก JSON
ผลลัพธ์ถูกพิมพ์ด้วยรูปแบบที่สวยงาม โดยมีการแทรกช่องว่างสองตำแหน่ง
ตัวอย่าง
ข้อมูลที่ป้อนเข้ามา:
; database config
[database]
host = db.example.com
port = 5432
user = app
[cache]
driver = redis
ttl = 3600
ผลลัพธ์:
{
"database": {
"host": "db.example.com",
"port": "5432",
"user": "app"
},
"cache": {
"driver": "redis",
"ttl": "3600"
}
}
ลักษณะเฉพาะของ INI: การจัดการโดยตัวแปลง
| ไวยากรณ์ INI | พฤติกรรม |
|---|---|
; ความคิดเห็น |
ถูกตัดออก |
# ความคิดเห็น |
ถูกลบออก (ไม่เป็นมาตรฐานแต่พบได้บ่อย) |
| ส่วนที่ขาด | คีย์จะไปยังอ็อบเจกต์ราก |
| กุญแจซ้ำ | ตัวสุดท้ายจะชนะ |
รูปแบบอาร์เรย์ key[] |
จะแปลงเป็นอาร์เรย์ JSON (ในรูปแบบ PHP) |
| ค่าที่อ้างถึง | ข้อความอ้างถูกตัดออก ส่วนเนื้อหาภายในยังคงเหลืออยู่ |
สิ่งที่มันไม่ทำ
- การอนุมานชนิดข้อมูล: INI มีการกำหนดชนิดข้อมูลอย่างเข้มงวด; ค่า 42 และ “42” มีลักษณะเหมือนกันทุกประการ ค่าทั้งหมดจะถูกแสดงเป็นสตริง JSON เว้นแต่คุณจะเลือกใช้ขั้นตอน “ลองตรวจสอบแบบตัวเลขหรือค่าบูลีน”
- ส่วนที่ซ้อนกัน: INI แบบมาตรฐานไม่มีส่วนที่ซ้อนกัน โดยบล็อก
[database.primary]จะถูกจัดเก็บเป็นคีย์เดียว แทนที่จะเป็นออบเจกต์ที่มีโครงสร้างซ้อนกัน - ค่าหลายบรรทัด (เกินกว่าที่ไฟล์ INI รองรับโดยตรง)
เมื่อ INI ยังคงมีความหมายอยู่
สำหรับการตั้งค่าแบบแบนที่ใช้โดยผู้แก้ไขที่ไม่มีความเชี่ยวชาญด้านเทคนิค รูปแบบ INI ถือว่าเหนือกว่าอย่างมาก, มีเพียงกุญแจหนึ่งต่อบรรทัด ไม่มีวงเล็บโค้ง และรองรับได้อย่างหลากหลาย JSON จะเป็นตัวเลือกที่เหมาะสมกว่าเมื่ออุปกรณ์ต้องประมวลผลข้อมูล และโครงสร้างแบบซ้อนกันมีความสำคัญ
คำถามที่พบบ่อย
เนื่องจาก INI มีการกำหนดประเภทข้อมูลอย่างเข้มงวด ทั้ง “42” และ “สี่สิบสอง” ถือเป็นค่าที่ถูกต้องทั้งสองแบบ และตัวแปลงข้อมูลจะไม่สามารถแยกแยะความแตกต่างระหว่างทั้งสองได้หากไม่มีคำแนะนำ หากคุณต้องการข้อมูลในรูปแบบ JSON ที่เป็นตัวเลข ให้ดำเนินการขั้นตอนหลังการประมวลผล หรือเปิดใช้งานฟีเจอร์ “การอนุมานประเภทอัตโนมัติ” หากเครื่องมือของคุณรองรับฟีเจอร์ดังกล่าว
ข้อกำหนดของ INI ไม่รวมส่วนย่อยที่จัดเรียงแบบซ้อนกัน, [a.b] เป็นส่วนเดียว โดยชื่อของมันมีจุดอยู่ในตัว ในการแปลงข้อมูลเหล่านี้เป็นรูปแบบ JSON แบบซ้อนกันถือเป็นเพียงแนวทางปฏิบัติเท่านั้น ไม่ใช่มาตรฐาน ดังนั้นโปรแกรมแปลงจึงคงโครงสร้างของส่วนต่างๆ ไว้ในรูปแบบราบเรียบ
ใช่ บรรทัดหลายบรรทัดของ key[] = value ในส่วนเดียวกันจะถูกรวมเข้าเป็นอาร์เรย์ JSON ส่วนบรรทัดเดียวของ key[] จะยังคงแสดงเป็นอาร์เรย์ที่มีเพียงหนึ่งองค์ประกอบ เพื่อรักษารูปแบบให้สอดคล้องกัน
ไม่ การวิเคราะห์ข้อความจะดำเนินการภายในเบราว์เซอร์ และเนื้อหาจะไม่ถูกส่งออกไปยังภายนอกเด็ดขาด
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
ตัวตรวจสอบอีเมล
ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ
เครื่องมือสร้าง EditorConfig
สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Konverter INI ke JSON [ID]
- INIからJSONへの変換ツール [JA]
- Konwerter INI na JSON [PL]
- Conversor de INI para JSON [PT]
- INI → JSON 변환기 [KO]
- INI till JSON-konverterare [SV]
- INI zu JSON Konverter [DE]
- Chuyển đổi từ INI sang JSON [VI]
- محول INI إلى JSON [AR]
- Convertidor de INI a JSON [ES]
- Convertisseur INI en JSON [FR]
- INI naar JSON-converter [NL]
- INI to JSON Converter [EN]
- Convertitore da INI a JSON [IT]
- Конвертер из INI в JSON [RU]
- INI'den JSON'a Dönüştürücü [TR]
- INI到 JSON 转换器 [ZH]