Please check if this helps
static void Main(string[] args)
{
var json = @"{
""employees"": [
{ ""firstName"":""John"" , ""lastName"":""Doe"" },
{ ""firstName"":""Anna"" , ""lastName"":""Smith"" },
{ ""firstName"":""Peter"" , ""lastName"":""Jones"" }
]
}";
jsonStringToCSV(json);
}
public static void jsonStringToCSV(string jsonContent)
{
XmlNode xml = JsonConvert.DeserializeXmlNode("{records:{record:" + jsonContent + "}}");
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(xml.InnerXml);
XmlReader xmlReader = new XmlNodeReader(xml);
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlReader);
var dataTable = dataSet.Tables[1];
var lines = new List<string>();
string[] columnNames = dataTable.Columns.Cast<DataColumn>().
Select(column => column.ColumnName).
ToArray();
var header = string.Join(",", columnNames);
lines.Add(header);
var valueLines = dataTable.AsEnumerable()
.Select(row => string.Join(",", row.ItemArray));
lines.AddRange(valueLines);
File.WriteAllLines(@"D:/Export.csv", lines);
}