2012-04-04 15 views
2

也許這是一個愚蠢的問題,但我的工作是要我generate some JSON項目,看起來像這樣:以c#動態ExpandoObjects的名義?

{'action.type':'post', 'application':APP_ID} 

在C#中,我試圖創建這個「action.type」屬性,「post」的值。我會怎麼做?下面是我typlically一直喜歡創造的東西:

dynamic ActionSpec = new ExpandoObject(); 
ActionSpec.SomeParam = "something"; 
ActionSpec.id = 12345; 

我不能去「ActionSpec.action.type」,因爲這將不輸出所需的「action.type」。 這有道理嗎? 謝謝!

回答

8

你可以嘗試通過字典填充它:

IDictionary<string, object> expandoDictionary = ActionSpec; 
expandoDictionary["action.type"] = "post"; 

不過,我也不會感到驚訝,如果它拒絕了,作爲一個無效的標識符。

2

使用Json.Net

JObject jObj = new JObject(); 

jObj["action.type"] = "post"; 
jObj["application"] = "APP_ID"; 

var json = jObj.ToString();