2012-04-04 6 views
2

Vielleicht ist das eine dumme Frage, aber ich arbeite an einem Projekt, das mich zu generate some JSON will, die wie folgt aussieht:Perioden im Namen von C# dynamischen ExpandoObjects?

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

In C#, ich versuche, dieses „action.type“ Attribut zu erstellen , mit dem Wert von "post". Wie würde ich das tun? Hier ist, wie ich habe typlically Sachen wie bisher erstellen:

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

ich nicht „ActionSpec.action.type“ gehen, denn das wird nicht ausgegeben der „action.type“ gewünscht. Macht das Sinn? Danke!

Antwort

8

Sie könnten versuchen es über das Wörterbuch bevölkern:

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

Allerdings würde ich nicht überrascht sein, wenn sie das als eine ungültige Kennung abgelehnt.

2

Mit Json.Net

JObject jObj = new JObject(); 

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

var json = jObj.ToString();