دانستنی‌ها

تبدیل CSV به JSON

تبدیل CSV به JSON کار ساده‌ای است. در این مطلب چند روش برای این کار را معرفی می‌کنیم.

اولین روش یک POJO(Plain-Old-Java-Object)i تعریف می‌کند و با شکستن‌های ابتدایی رشته، داده CSV را به iPOJOتبدیل می‌کند که در ادامه به JSON سریالایز شود. روش دوم از یک پارسر کامل‌تر CSV با پشتیبانی از فیلدها و کاما‌ها استفاده می‌کند. در این روش از کلاس‌های Collection برای ذخیره‌سازی داده پردازش شده و تبدیل آن به JSON استفاده می‌شود.

از Jackson برای تبدیل JSON استفاده می‌کنیم.

تجزیه فایل CSV ساده

در شرایطی که فایل CSV خیلی ساده باشد (هیچ فیلد نقل قول شده یا کاما درون فیلدها نداشته باشد) می‌توان از یک الگوی ساده به شکل زیر استفاده کرد.

تعریف POJO

خواندن داده CSV

یک فایل CSV را با استفاده از BufferedReader در یک بلوک try-with-resource باز می‌کنیم.

لیستی از POJO به شکل زیر ایجاد می‌کنیم. اولین خط را به خاطر اینکه سرتیتر است رها می‌کنیم. هر خط با استفاده از Pattern به فیلدها شکسته می‌شود و به نوع داده مربوط تبدیل شده و برای ساخت اشیا استفاده می‌شود.

تبدیل کردن به JSON

زمانی که List آماده شد، از ObjectMapper جکسون برای نوشتن JSON استفاده می‌کنیم.

و کل برنامه به این شکل خواهد بود

تبدیل CSV به JSON بدون POJO

در این مثال از پارسری که در اینجا معرفی شده استفاده می‌کنیم. این پارسر می‌تواند فیلدهای چندخطی و کامای درون فیلدها را هم پشتیبانی کند.

به این ترتیب داده csv زیر را به عنوان ورودی داریم

در خروجی این داده به فرمت json به شکل زیر درمی‌آید.

منبع:

https://dzone.com/

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا