Pengubah iCalendar (ICS) ke JSON
Memandu
Pengubah iCalendar (ICS) ke JSON
Pengubah iCalendar (ICS) ke JSON memarsing konten kalender RFC 5545 menjadi JSON terstruktur yang dapat dibaca, ditransformasikan, atau dimasukkan ke dalam program lain. Tempel konten file .ics yang diekspor dari Google Calendar, Apple Calendar, atau Outlook ke kotak masukan, dan alat ini akan membuka baris panjang, mengungkapkan nilai TEXT, memisahkan parameter properti dari nilai, memarsing DTSTART dan DTEND menjadi ISO 8601, serta mengubah RRULE menjadi objek terstruktur — semua di browser Anda. Tidak ada data yang diunggah ke server.
Cara Penggunaan
- Tempel isi file .ics ke kotak masukan, atau tarik file ke pengunggah.
- Pilih opsi keluaran Anda: tampilan rapi, array peristiwa datar, parsing tanggal ISO 8601, atau termasuk nilai properti murni bersama dengan nilai yang diparsing.
- Opsi untuk memperlihatkan pratinjau RRULE agar dapat melihat N kemunculan pertama dari setiap peristiwa yang berulang.
- Salin output JSON atau unduh sebagai
calendar.json.
Fitur
- Penggabungan yang sesuai dengan RFC 5545 – Menggabungkan baris berlanjut yang dimulai dengan spasi sebelum diparsing, sehingga nilai DESCRIPTION dan URL dapat dipulihkan dengan benar.
- Parameter properti yang dipertahankan – TZID, CN, RSVP, VALUE dan parameter X lainnya ditempatkan dalam objek terstruktur di samping nilai.
paramsPemrosesan tanggal - – DTSTART, DTEND, DTSTAMP, CREATED, LAST-MODIFIED, RECURRENCE-ID dan DUE diubah menjadi ISO 8601 dengan flag untuk tanggal saja, UTC, dan nilai TZID. RRULE sebagai objek
- – FREQ, INTERVAL, COUNT, UNTIL, BYDAY, BYMONTH dan teman-temannya diolah menjadi objek terstruktur alih-alih string yang tidak terstruktur. VTIMEZONE dan VALARM tetap utuh
- – Komponen terkandung dihasilkan sebagai array di bawah VCALENDAR atau VEVENT induknya. Alamat penyelenggara dan peserta
components– Prifix mailto: dihilangkan dan dimasukkan ke dalam field, sementara nilai asli tetap dipertahankan. - Pratinjau ulang – Opsi untuk memperluas aturan DAILY, WEEKLY (dengan BYDAY), MONTHLY dan YEARLY menjadi N kemunculan pertama untuk melihat secara cepat.
email– File dianalisis di browser Anda. Isi kalender tidak pernah meninggalkan mesin Anda.calAddress. - Gunakan pengubah ini saat Anda perlu membaca data kalender secara programatis — membandingkan dua ekspor .ics, memuat peristiwa ke spreadsheet, pra-pemrosesan pertemuan untuk chatbot, atau mengaudit apa yang sebenarnya terdapat dalam ekspor pemesanan. JSON jauh lebih mudah digunakan untuk pencarian, validasi, dan pipa ke alat lain dibandingkan dengan teks iCalendar yang tidak terstruktur. Apa itu RFC 5545 dan mengapa penting untuk memarsing file .ics?
- Hanya sisi klien RFC 5545 adalah spesifikasi yang menentukan format data iCalendar yang digunakan oleh Google Calendar, Apple Calendar, Outlook, dan kebanyakan aplikasi kalender. Spesifikasi ini menentukan nama properti, sintaks parameter, tipe nilai, aturan pembagian baris pada 75 oktet, pengungkapan di dalam nilai TEXT, aturan ulang (RRULE), dan cara zona waktu diacu melalui blok VTIMEZONE. Memarsing .ics secara benar berarti menangani semua hal ini — pemisahan yang tidak cermat berdasarkan baris baru atau koma akan melewatkan urutan terlindung dan pembagian baris.
Kapan Menggunakan Alat Ini
Apa itu pembagian baris dalam konten iCalendar?
Tanya Jawab Umum
-
Pembagian baris adalah aturan bahwa setiap baris yang lebih panjang dari 75 oktet harus dibagi ke beberapa baris fisik, dengan setiap baris berlanjut dimulai dengan satu karakter spasi (spasi atau tab). Saat membaca file .ics Anda harus menggabungkan baris yang dibagi sebelum diparsing — jika tidak, deskripsi panjang, URL, dan aturan ulang akan terputus di tengah nilai dan properti yang dihasilkan akan rusak.
Bagaimana VTIMEZONE berhubungan dengan DTSTART dan DTEND?
-
DTSTART dan DTEND dapat memiliki parameter TZID yang merujuk pada blok VTIMEZONE yang didefinisikan di tempat lain dalam kalender. Blok VTIMEZONE menjelaskan pergeseran UTC dan transisi jam daur hari untuk zona tersebut, sehingga waktu dinding yang ditulis di DTSTART dapat diubah menjadi waktu UTC yang tepat. Waktu yang diakhiri dengan Z sudah berada dalam UTC, sedangkan waktu tanpa TZID dan tanpa Z adalah waktu yang bebas — mereka harus ditampilkan dalam waktu lokal yang digunakan oleh pembaca.
Mengapa koma, koma, dan baris baru di-escape di dalam SUMMARY dan DESCRIPTION?
-
Di dalam nilai TEXT, karakter koma, koma, dan backslash, ditambah baris baru, memiliki makna struktural pada tingkat lebih tinggi: koma memisahkan item daftar, koma memisahkan parameter, dan baris baru mengakhiri baris konten. RFC 5545 §3.3.11 menahan urutan escape \\, \,, \;, dan \n (atau \N) sehingga penulis dapat mencantumkan karakter-karakter ini di dalam nilai. Parser harus membalikkan escape tersebut setelah membagi baris, bukan sebelumnya.
Apa itu RRULE dan bagaimana perbedaannya dengan daftar tanggal eksplisit?
-
RRULE mengkodekan pola pengulangan — misalnya FREQ=WEEKLY;BYDAY=MO,WE;COUNT=10 berarti 10 kemunculan, setiap minggu pada hari Senin dan Rabu. Ini adalah instruksi kompak yang diperluas oleh aplikasi kalender menjadi kemunculan individu. RDATE dan EXDATE melengkapi RRULE: RDATE menambahkan tanggal eksplisit tambahan ke seri, dan EXDATE menghapus tanggal individu dari seri tersebut. Dengan demikian mereka menggambarkan kalender kompleks (libur, pengecualian yang diikat) dalam beberapa baris.
Pengubah iCalendar (ICS) ke JSON 1
-
Pengubah iCalendar (ICS) ke JSON
Pengubah iCalendar (ICS) ke JSON memarsing konten kalender RFC 5545 menjadi JSON terstruktur yang dapat dibaca, ditransformasikan, atau dimasukkan ke dalam program lain. Tempel
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru ditambahkan pada 11 Juni 2026
