§

JSON-ga o'zgartirmoqchi bo'lgan CSV-ni shu yerga joylashtiring.

Ajratuvchi
Birinchi satr sarlavha
Tipni keltirish
§

Output

json

CSV-ni JSON-ga aylantirish O'zbekistondagi ma'lumotlar tahliliga oid kundalik vazifa: data.gov.uz va stat.uz portallari Davlat statistika qo'mitasining ko'rsatkichlarini CSV ko'rinishida e'lon qiladi, va konveyerlar bu fayllarni Yandex DataLens yoki BigQuery uchun JSON-ga aylantiradi. Markaziy bank kurslari va ochiq bank API'si vaqtli qator ko'rinishida CSV taqdim etadi, lekin ichki paneli uchun JSON kerak bo'ladi. Soliq qo'mitasining e-faktura tizimi tomonidan eksport qilingan hisobot jadvallari ham, IT Park rezident kompaniyalarining moliyaviy hisobotlari ham xuddi shu yo'lda harakat qiladi. Bu konvertor tahlilni lokal ravishda bajaradi — STIR yoki passport ma'lumotlari brauzerdan tashqariga chiqmaydi.

CSV dan JSON ga konvertatsiya nima?

CSV (Comma-Separated Values, RFC 4180) — tekis, jadval ko'rinishidagi matn formati; JSON (JavaScript Object Notation, RFC 8259) — tuzilgan ma'lumotlar uchun daraxt shaklidagi matn formati. CSV-ni JSON-ga aylantirish elektron jadvalga qulay jadvaldan API-ga qulay obyektlar massiviga o'tishni ta'minlaydi — har bir satr uchun bir obyekt, sarlavha satri kalitlarni ta'minlaydi — bitta katak ham qayta yozilmaydi.

CSV dan JSON ga konvertatsiya qanday ishlaydi?

Har bir konvertatsiya brauzeringizda lokal tarzda bajariladi. Asosiy bosqichlar:

  1. CSV-ni kiritish paneliga joylashtirasiz va O'ZGARTIRISH tugmasini bosasiz; vosita matnni tahlil qiladi va chiqish panelida JSON obyektlar massivini chiqaradi.
  2. Belgi-belgi ishlaydigan holatlar mashinasi (FIELD_START → IN_UNQUOTED_FIELD yoki IN_QUOTED_FIELD) kirishni o'tib chiqadi, "" qo'shtirnoq belgilashini hisobga oladi, \r\n va \n satr yakunlovchilarini tan oladi va oraliq ifoda sifatida ikki o'lchovli satrlar massivini hosil qiladi.
  3. Birinchi satr sarlavha sifatida belgilangan bo'lsa, uning katakchalari obyekt kalitlariga aylanadi; aks holda vosita har bir satr to'liq obyektga moslashtirilishi uchun sintetik field0, field1, … kalitlarini hosil qiladi.
  4. Ajratuvchi (vergul, nuqta-vergul, tab, vertikal chiziq yoki avtomatik aniqlash) va tipni keltirish (sonlar / mantiqiy qiymatlar / null) — barchasi sozlanadi. Keltirish yoniq holatda 30 son 30 ga, true esa mantiqiy qiymatga aylanadi; o'chirilgan holatda har bir katak satr bo'lib qoladi.
  5. Natija faqat o'qish uchun matn maydoniga JSON.stringify formatlangan matn sifatida yoziladi va yuklab olish havolasi application/json;charset=utf-8 MIME turi bilan Blob hosil qiladi, shunda natijani bir bosish bilan saqlashingiz mumkin.

Nima uchun CSV-ni JSON-ga shu vosita bilan o'zgartirish kerak?

  • Maxfiylik: har bir tahlil va o'zgartirish brauzeringizda bajariladi. Ma'lumotlar serverlarimizga hech qachon yetib bormaydi.
  • To'g'rilik: CSV tahlilchisi haqiqiy holatlar mashinasidir. Qo'shtirnoqdagi vergullarni o'z ichiga olgan maydonlar ("Bob, Jr."), ichki satr boshlovchilari va belgilangan qo'shtirnoqlar bitta katakka tahlil qilinadi, uchtaga emas — sodda split(',') ilovalari bu yerda xato qiladi.
  • Tip sadoqati: ixtiyoriy keltirish raqamli va mantiqiy katakchalarni haqiqiy JSON sonlari va mantiqiy qiymatlarga aylantiradi, natijada massiv ikkinchi tozalash o'tishisiz to'g'ridan-to'g'ri ishlatishga tayyor bo'ladi.
  • Moslashuvchanlik: vergul bo'lmagan CSV dialektlari uchun istalgan ajratuvchini tanlang, birinchi satr sarlavha ekanligini sozlang va har bir katak satr bo'lib qolishi kerak bo'lgan hollarda tipni keltirishni o'chiring.

CSV dan JSON ga konvertatsiyaning keng tarqalgan qo'llanilishlari qanday?

CSV-ni JSON-ga tahlil qilish ma'lumotlar bilan ishlash va vositalar bo'ylab har joyda uchraydi:

  • API maketlash: jadvaldan eksport qilingan CSV fikstirani joylashtirib uni lokal serveringiz maketlangan endpoint sifatida qaytarishi mumkin bo'lgan JSON massivga aylantirish.
  • Ma'lumotlarni import qilish: elektron jadval eksportini (kontaktlar, inventar, so'rovnoma javoblari) CSV tahlilchi bog'liqligisiz ilovangiz yoki skriptingiz takroriy aylanishi mumkin bo'lgan JSON massivga aylantirish.
  • Konfiguratsiyani tahrirlash: texnik bo'lmagan ko'ruvchilar sozlamalarni yoki funksiya bayroqlarini elektron jadvalda katakcha-katakcha tahrirlashiga ruxsat berish va so'ngra saqlangan CSV-ni ilovangiz yuklaydigan JSON-ga o'zgartirish.

CSV dan JSON ga o'zgartirish misoli qanday ko'rinadi?

Birinchi satrga name,age, ikkinchisiga Alice,30, uchinchisiga "Bob, Jr.",25 joylashtiring, so'ngra vergul ajratuvchisi, birinchi satr kalit va tipni keltirish yoniq bilan O'ZGARTIRISH ni bosing — natija [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] bo'ladi. "Bob, Jr." ichidagi qo'shtirnoqli vergul bitta maydonda qoladi va yoshlar haqiqiy JSON sonlariga aylanadi.

Ushbu CSV dan JSON ga o'zgartirgich to'liq brauzerimda ishlaydimi?

Ha. Har bir tahlil va o'zgartirish brauzer ichida JavaScript sifatida lokal tarzda bajariladi. Vosita fetch, XMLHttpRequest yoki navigator.sendBeacon ni umuman chaqirmaydi — CSV yuklaringiz serverlarimizga, uchinchi tomon konvertoriga yoki biror analitika quvuriga yetib bormaydi. Sahifa yuklangandan keyin vosita oflayn ham ishlaydi, chunki u tashqi API'ga bog'liqlik yo'q bo'lgan statik HTML/CSS/JS to'plamidir.

Bu o'zgartirgich qabul qila oladigan eng katta kiritish o'lchami qancha?

O'zgartirgich kiritishni butunlay xotirada buferlaydi va asosiy oqimda sinxron ishlaydi, shuning uchun amaliy chegaralar qurilmangizga bog'liq. Zamonaviy noutbukda taxminan 10 MB gacha CSV kiritish (taxminan 100 000 odatiy qator) sezilarli pauzasiz o'zgartiriladi. Bundan tashqari, tahlilchi ishlayotganida interfeys to'xtab qolishi mumkin. Web Worker va bo'lakli tahlilchi bilan oqimli konvertatsiya rejalashtirilgan davom; hozircha juda katta ma'lumotlar to'plamlarini joylashtirishdan oldin bo'ling.

CSV dan JSON ga tahlilchi qo'shtirnoqdagi vergullar va ichki satr boshlovchilarini qanday boshqaradi?

Tahlilchi uchta holatga ega (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) belgi-belgi ishlovchi holatlar mashinasidir — sodda split(',') emas. Ikki qo'shtirnoq bilan o'ralgan maydon ajratuvchi, CR, LF yoki "" bilan belgilangan tom ma'noda ikki qo'shtirnoqni o'z ichiga olishi mumkin va maydon chegaralari buzilmaydi. Shuning uchun "Bob, Jr.",25 uchta emas, ikkita maydonga tahlil qilinadi va satrlar bo'ylab qo'shtirnoqlar ichida joylashgan ko'p satrli tavsif bitta katakka tahlil qilinadi.

JSON natijasida sonlar, mantiqiy qiymatlar va bo'sh kataklar qanday tipga ega bo'ladi?

Tiplash Tipni keltirish almashtirgichi orqali boshqariladi. Keltirish yoniq holatda (standart) son ko'rinishidagi katak JSON soniga, true/false mantiqiy qiymatlarga va null tom ma'nosi JSON null ga aylanadi; qolgan hammasi satr bo'lib qoladi. Keltirish o'chirilgan holatda har bir qiymat mazmunidan qat'i nazar satr ko'rinishida saqlanadi — bosh nollar, telefon raqamlari yoki identifikator kodlar o'zgarmay qolishi kerak bo'lganda foydali. Qisqa satrning oxiridagi etishmayotgan kataklar har bir obyektning to'liq kalit to'plamiga ega bo'lishi uchun bo'sh satr sifatida chiqariladi.

CSV tomoni qanday ajratuvchilarni qo'llab-quvvatlaydi?

To'rtta aniq ajratuvchi qo'llab-quvvatlanadi: vergul (,, RFC 4180 standarti), nuqta-vergul (;, Yevropa lokallarida keng tarqalgan), tab (\t, TSV dialekti) va vertikal chiziq (|). Shuningdek, Avtomatik aniqlash ni ham tanlash mumkin; u har bir nomzodning kiritishning birinchi 4 KB qismidagi qo'shtirnoq tashqari hududlardagi uchrashuvlar sonini hisoblaydi va birinchi besh satrda izchil ustunlar sonini beradigan eng tez-tez uchraydiganini tanlaydi.

Bu CSV dan JSON ga o'zgartirgichi haqiqiy holatlar mashinasi bilan tahlil qiladi va to'g'ridan-to'g'ri API chaqiriquvga, skriptga yoki kod ko'rib chiqishiga joylashtiriladigan toza, foydalanishga tayyor JSON beradi — bitta ham bayt yubormasdan.