Я записываю объект ac # как JSON в текстовый файл, который находится на SFTP-сервере с использованием ssh.net.
Я могу написать его, но двойные кавычки удаляются из свойства Json, Как сохранить его?
using (var client = new SshClient(sftpServer, sftpUserName, sftpPassword))
{
client.Connect();
if (client.IsConnected)
{
// Check if the Folder Already Exists
var ifExists = client.RunCommand("cat /etc/passwd | grep -w " + directoryName);
if (!string.IsNullOrEmpty(ifExists.Result))
{
var fileExist = client.RunCommand("cat /etc/passwd | find /sftpusers/" + directoryName + "/schema -name " + fileName + ".txt");
if (fileExist != null && string.IsNullOrEmpty(fileExist.Result))
{
client.RunCommand("echo " + sftpPassword + " | sudo -S touch /sftpusers/" + directoryName + "/schema/" + fileName + ".txt");
}
var jsonData = "{\"type\":\"record\",\"name\":\"asb\",\"namespace\":\"Employee\",\"Fields\":[{\"name\":\"PurchaseId\",\"type\":\"numeric\",\"ClientFieldNm\":null,\"ImportFieldLenQty\":0,\"ImportRetainFlag\":false,\"ImportPrimaryKeyFlag\":0,\"ImportResolveFKFieldFlag\":0,\"ImportDeblankDataFlag\":false,\"ImportEncryptFlag\":false,\"ImportBatIndexFlag\":false,\"ImportEnforceValidTypeFlag\":false,\"ImportRequiredFlag\":false}]}";
var query = string.Format("echo Asdf@123 | sudo -S sh -c 'echo {0} > $1' -- /sftpusers/test/schema/{1}.txt",jsonData, fileName);
client.RunCommand(query);
}
}
client.Disconnect();
}
Вместо использования строки Newtosoft json serializer, но также как и выше, работает строка.
Текущие данные в filename.txt:
{type:record,name:asb,namespace:Employee,Fields:[{name:PurchaseId,type:numeric,ClientFieldNm:null,ImportFieldLenQty:0,ImportRetainFlag:false,ImportPrimaryKeyFlag:0,ImportResolveFKFieldFlag:0,ImportDeblankDataFlag:false,ImportEncryptFlag:false,ImportBatIndexFlag:false,ImportEnforceValidTypeFlag:false,ImportRequiredFlag:false}]}
Ожидаемые данныев filename.txt:
{
"type":"record",
"name":"asb",
"namespace":"Employee",
Fields[{
"name":"PurchaseId",
"type":"numeric",
"ClientFieldNm":null,
"ImportFieldLenQty":0,
"ImportRetainFlag":false,
"ImportPrimaryKeyFlag":0,
"ImportResolveFKFieldFlag":0,
"ImportDeblankDataFlag":false,
"ImportEncryptFlag":false,
"ImportBatIndexFlag":false,
"ImportEnforceValidTypeFlag":false
,"ImportRequiredFlag":false
}]}