Przejdź do głównej treści

Konwersja JSON na CSV

Konwerter oczekuje tablicy obiektów JSON i zapisuje jeden wiersz CSV na każdy obiekt. Rekordy rzadko mają identyczne klucze, dlatego ten poradnik pokazuje, jak wybierane są kolumny i czym wypełniane są luki.

Przykład krok po kroku

Dane wejściowe (JSON)
[
  {"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
  {"id": 2, "name": "Kim", "email": "[email protected]"},
  {"id": 3, "name": "Lee", "email": null}
]
Wynik (CSV)
id,name,tags,email
1,"Smith, Jane","admin,ops",
2,Kim,,[email protected]
3,Lee,,

Wiersz nagłówków zawiera wszystkie klucze w kolejności ich pierwszego wystąpienia: id, name, tags, a następnie email z drugiego obiektu. Smith nie ma pola email, a email u Lee ma wartość null, więc obie komórki są puste. Tablica tags jest zapisywana jako admin,ops i ujmowana w cudzysłowy, bo zawiera ogranicznik — tak samo jak "Smith, Jane".

Jak konwerter to obsługuje

  • Dane wejściowe muszą być tablicą JSON, np. [{...}, {...}]; pojedynczy obiekt jest odrzucany.
  • Kolumny to suma kluczy wszystkich obiektów, w kolejności pierwszego wystąpienia każdego klucza.
  • Brakujący klucz lub wartość null daje pustą komórkę.
  • Liczby i wartości logiczne są zapisywane jako zwykły tekst, na przykład 42 i true.
  • Tablice prostych wartości są zapisywane jako ich elementy połączone przecinkami. Zagnieżdżone obiekty oraz tablice zawierające obiekty są zapisywane w komórce jako zwarty JSON, więc żadne dane nie giną; jeśli potrzebujesz osobnych kolumn, najpierw je spłaszcz (na przykład do address_city).
  • Wartości zawierające ogranicznik, znak cudzysłowu lub podział wiersza są ujmowane w podwójne cudzysłowy, a cudzysłowy wewnątrz są podwajane.

Więcej poradników konwersji