2017-02-21 37 views
0

我從AWS CloudTrail獲取日誌文件。大多數情況下,它們是一致的,但一些屬性採取不同的形式。例如:C#JSON.NET從AWS CloudTrail解析動態JSON對象

{ 
    ... 
    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的數據作爲字符串數據,無論它是如何提供?

回答