in src/alibabacloud_rds_openapi_mcp_server/utils.py [0:0]
def json_array_to_csv(data):
if not data or not isinstance(data, list):
return ""
fieldnames = set()
for item in data:
if isinstance(item, dict):
fieldnames.update(item.keys())
elif hasattr(item, 'to_map'):
fieldnames.update(item.to_map().keys())
if not fieldnames:
return ""
output = StringIO()
writer = csv.DictWriter(output, fieldnames=sorted(fieldnames))
writer.writeheader()
for item in data:
if isinstance(item, dict):
writer.writerow({k: v if v is not None else '' for k, v in item.items()})
elif hasattr(item, 'to_map'):
writer.writerow({k: v if v is not None else '' for k, v in item.to_map().items()})
return output.getvalue()