Antarmuka program mengirim pesanan sebagai JSON bersarang, sementara bagian keuangan membutuhkan tabel datar: satu baris per barang. Misi ini menempuh empat langkah yang sama dengan pekerjaan aslinya: memeriksa kelengkapan kunci, meratakan struktur, menyeragamkan nilai kosong, lalu menyimpan ringkasannya.
Pemeriksaan kelengkapan dilakukan lebih dulu karena rekaman yang kurang lengkap menghentikan seluruh proses di tengah jalan. Dengan memeriksanya sejak awal, rekaman bermasalah dapat dikumpulkan dan dilaporkan sekaligus, bukan ditemukan satu per satu setiap kali program dijalankan ulang.
Meratakan berarti setiap baris membawa keterangan induknya. Nomor faktur diulang di setiap barang supaya baris tetap bermakna setelah lepas dari strukturnya. Pengulangan itu disengaja: tabel datar menukar penghematan tempat dengan kemudahan penyaringan dan penjumlahan.
kelas = {"nama": "7A", "murid": [{"nama": "Sari"}, {"nama": "Dimas"}]}
datar = [{"kelas": kelas["nama"], "murid": m["nama"]} for m in kelas["murid"]]
print(datar) # dua baris, masing-masing membawa nama kelasnyaNilai kosong ditangani terakhir karena bentuknya bergantung pada tujuan berkas. Untuk tabel yang dibaca manusia, null diubah menjadi teks kosong agar kolomnya tidak berisi tulisan None. Untuk berkas yang dibaca program lain, null dipertahankan agar perbedaan antara kosong dan tidak diisi tetap terbaca.