【问题标题】:C# JSON.NET Parsing Dynamic JSON Object From AWS CloudTrailC# JSON.NET 从 AWS CloudTrail 解析动态 JSON 对象
【发布时间】:2017-02-21 19:28:54
【问题描述】:

我从 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 数据捕获为字符串数据而不管它是如何提供的?

【问题讨论】:

    标签: c# json amazon-web-services


    【解决方案1】:

    我不认为可以做到(我更熟悉从 XML 反序列化对象)。

    我在 StackOverflow 中遇到了这个问题:How can I deserialize an object if I don't know the right type?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      相关资源
      最近更新 更多