Przejdź do głównej treści

Konwersja CSV na JSON

Każdy wiersz CSV staje się jednym obiektem JSON, a wiersz nagłówków dostarcza nazwy właściwości. W tym poradniku przepuszczamy przez konwerter mały plik z przecinkiem w cudzysłowie i podwojonym (escapowanym) cudzysłowem oraz wyjaśniamy każdą stosowaną regułę.

Przykład krok po kroku

Dane wejściowe (CSV)
id,name,item,price,paid
1,"Smith, Jane","Monitor 27""",189.99,true
2,Kim,Keyboard,,false
Wynik (JSON)
[
  {
    "id": 1,
    "name": "Smith, Jane",
    "item": "Monitor 27\"",
    "price": 189.99,
    "paid": true
  },
  {
    "id": 2,
    "name": "Kim",
    "item": "Keyboard",
    "price": null,
    "paid": false
  }
]

Ponieważ "Smith, Jane" jest ujęte w podwójne cudzysłowy, przecinek pozostaje częścią wartości i nie rozpoczyna nowej kolumny. W "Monitor 27""" podwojony cudzysłów staje się jednym zwykłym znakiem cudzysłowu. Pusta cena u Kim zmienia się w null, a liczby oraz true/false trafiają do wyniku jako typy JSON, a nie ciągi znaków.

Jak konwerter to obsługuje

  • Każdy niepusty wiersz to jeden rekord, a puste wiersze są pomijane. Wartość w cudzysłowie nie może zawierać podziału wiersza.
  • Ujmij wartość w podwójne cudzysłowy, jeśli zawiera ogranicznik. Wewnątrz cudzysłowów zapisz znak cudzysłowu jako dwa cudzysłowy ("").
  • Spacje na początku i na końcu każdej wartości są usuwane.
  • Gdy opcja „Pierwszy wiersz jako nagłówki” jest włączona, pierwszy wiersz dostarcza klucze; gdy jest wyłączona, kluczami są col0, col1, col2 i tak dalej.
  • Puste komórki i słowo null stają się null, true i false (pisane dowolną wielkością liter) stają się wartościami logicznymi, a tekst liczbowy staje się liczbą nawet w cudzysłowie, więc 00123 zamienia się w 123.
  • Wiersze z mniejszą liczbą wartości niż nagłówków otrzymują null w brakujących kolumnach; wartości wykraczające poza ostatni nagłówek są odrzucane.

Więcej poradników konwersji