{"slug":"402utils-com-v1-json-to-csv-14c7d6","title":"Convert a JSON array of objects into a clean RFC 4180 CSV","host":"402utils.com","method":"POST","resource":"https://402utils.com/v1/json-to-csv","category":"other","description":"Convert a JSON array of objects into a clean RFC 4180 CSV: header row, CRLF records, correct quoting and quote-doubling. Nested objects flatten to dot-notation columns (a.b.c), arrays are JSON-encoded into their cell, and you can select and order columns explicitly. Delimiter: comma, semicolon, tab ","price_listed":0.002,"price_asked":0.002,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":20,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"delimiter":",","rows":[{"city":"Orléans","name":"Jeanne d'Arc","stats":{"active":true,"score":9.5}},{"name":"José","tags":["vip","beta"]}]},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"description":"Either this object form, or the bare `rows` array itself as the whole JSON body (defaults then apply).","properties":{"columns":{"description":"Optional column selection and order (flattened dot-notation names). Unknown names produce empty cells. Omit to use the union of all flattened row keys in first-seen order.","items":{"type":"string"},"type":"array"},"delimiter":{"default":",","description":"Field separator.","enum":[",",";","\t","|"],"type":"string"},"rows":{"description":"1–100,000 plain JSON objects, one per CSV record. Nested objects flatten to dot-notation column names; arrays are JSON-encoded into their cell; null becomes an empty cell.","items":{"type":"object"},"maxItems":100000,"minItems":1,"type":"array"}},"required":["rows"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"contentMediaType":"text/csv","description":"The response body is the CSV file (Content-Type: text/csv; charset=utf-8, Content-Disposition: attachment; filename=\"data.csv\"). CRLF record separators, trailing CRLF included.","type":"string"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.002,"price_match":true,"latency_ms":20,"error":null}],"description_full":"Convert a JSON array of objects into a clean RFC 4180 CSV: header row, CRLF records, correct quoting and quote-doubling. Nested objects flatten to dot-notation columns (a.b.c), arrays are JSON-encoded into their cell, and you can select and order columns explicitly. Delimiter: comma, semicolon, tab or pipe. Caps: 100,000 rows, 5 MB body, 20 MB CSV out. Returns text/csv ready for Excel, Google Sheets or a data pipeline.","last_updated":"2026-09-18T11:20:11.454Z","schemes":["exact"]}