using Newtonsoft.Json.Linq;
public static void Main()
""fileName"": ""FNVAB20210902172954.CSV"",
""VABRMA"": ""UFJ5987360"",
""VABSPED"": ""114002849877"",
""VABRSD"": ""PAVA SRLS"",
""VABIND"": ""VIA ZANOTTI 101"",
""VABLOD"": ""SAN SEVERO"",
""VABRMA"": ""UFJ5987360"",
""VABSPED"": ""114002849879"",
""VABRSD"": ""ELETTRAUTO ROSSI GIORGIO"",
""VABIND"": ""SS PER FIUGGI 155 KM 4.5"",
""VABLOD"": ""TECCHIENA"",
var csvJObj = JObject.Parse(json);
var jArrFileRows = JArray.Parse(csvJObj.Property("fileRows").First.ToString());
string fileName = csvJObj.GetValue("fileName").ToString();
var csvRowProps = String.Join("|", ((JObject)jArrFileRows.First).Properties().Select(p => p.Name));
foreach (JObject jObjFileRow in jArrFileRows.Children<JObject>())
csvRowsData += String.Join("|", jObjFileRow.Properties().Select(p => p.Value)) + "\r\n";
var csvString = csvRowProps + "\r\n" + csvRowsData;
Console.WriteLine(csvString);
using(MemoryStream ms = new MemoryStream())
var sw = new StreamWriter(ms, new UnicodeEncoding());
ms.Seek(0, SeekOrigin.Begin);
FtpClient client = new FtpClient("123.123.123.123", "david", "pass123");