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
id,name,item,price,paid 1,"Smith, Jane","Monitor 27""",189.99,true 2,Kim,Keyboard,,false
[
{
"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.