2012-04-04 4 views
2

Может быть, это глупый вопрос, но я работаю над проектом, который хочет, чтобы я generate some JSON который выглядит следующим образом:Периоды на имя C# dynamic 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();