Я получаю файлы журналов из AWS CloudTrail. По большей части они согласуются, но некоторые свойства имеют разные формы. Например:C# JSON.NET Анализ динамического объекта JSON от AWS CloudTrail
{
...
requestParameters: {
repositoryName: "Test",
branchName: "master"
},
...
}
в то время как другие времена я получаю что-то вроде:
{
...
requestParameters: {
encryptionContext: {
aws:codecommit:env-alg: "AES/256",
aws:codecommit:sig-alg: "HmacSHA256/256",
aws:codecommit:id: "117a18c1-4b40-489f-af07-da1ecd36eccf"
},
"someotherkey" : "key"
},
...
}
Так что это на самом деле не конкретный AWS вопрос, хотя другие могут решать это с CloudTrail уже. Каков наилучший способ взять эти предоставленные строки JSON и преобразовать их в объекты .NET? Что-то вроде следующего наилучшим образом?
public class CloudTrailRecord
{
...
public string EventId { get; set; }
public Dictionary<string, dynamic> RequestParameters { get; set; }
...
}
Или есть способ просто захватить данные requestParameters в виде строковых данных независимо от того, как они предоставляются?