Object keys make a record self-describing and let sparse rows omit a field without moving another value under its heading.
Arrays are smaller but position zero has no meaning unless a separate, versioned schema supplies one.
Converting a headered CSV to objects is usually the safer default; arrays suit controlled machine-to-machine pipelines.
The full explanation
A CSV file is a rectangle, while JSON is a tree. Moving between them is easy only after somebody decides what a row is, where the complete set of columns comes from, and how nested values fit into flat cells. Those decisions are part of the data model, not punctuation a converter can infer perfectly. Read the complete guide for the reasoning, examples and definitions behind this answer.