неа, но можно попробовать из сишарпа заюзать либо напрямую, либо все операции выполнить на фшарпе и обернуть в класс или простую стат функцию.
интероп стандартный.
S>>"MID: "name from 1st in Agents", S>>"POSIDS":[ тут стандартный список строк в JSON ],
S>>"MID: "name from 2nd in Agents", S>>"POSIDS":[ тут стандартный список строк в JSON ],
S>>...
S>>"MID: "name from Nth in Agents", S>>"POSIDS":[ тут стандартный список строк в JSON ], S>>[/q]
S>>Как такое сделать?
VC>Ничего не понял. Вам нужно проекцию создать при сериализации или переименовать поля в json?
Видимо, проекцию. ПРичем вопрос десериализации этого дела мне не интересен — это уже не моя печаль будет.
S>Нужно чтобы Agents в инстансе ReqDto сериализовался так:
S>
S>"MID: "name from 1st in Agents",
S>"POSIDS":[ тут стандартный список строк в JSON ],
S>"MID: "name from 2nd in Agents",
S>"POSIDS":[ тут стандартный список строк в JSON ],
S>Как такое сделать?
using System;
using static System.Console;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace jt
{
public class Merch
{
[JsonPropertyName("MID")]
public string Name { get; set; }
[JsonPropertyName("POSIDS")]
public string[] Pos { get; set; }
}
public class ReqDto
{
public Merch[] Agents { get; set; }
}
class Program
{
static void Main(string[] args)
{
var dto = new ReqDto
{
Agents = new[] {
new Merch{ Name = "M1", Pos = new [] { "S1M1", "S2M1" }},
new Merch{ Name = "M2", Pos = new [] { "S1M2", "S2M2" }}
}
};
WriteLine(JsonSerializer.Serialize(dto.Agents));
}
}
}
Других вариантов думаю нет. Т.к. все остальное будет уже не json(тогда просто метод-расширение для вашей дтошнки который возвращает строку в нужном формате(от слова форматирование)).
Совет, попробуйте формулировать четче свои желания, а то какая-то лирика получается.