Периоды во имя C# динамического ExpandoObjects?
Возможно, это глупый вопрос, но я работаю над проектом, который хочет, чтобы я сгенерировал JSON, который выглядит следующим образом:
{'action.type':'post', 'application':APP_ID}
В C# я пытаюсь создать этот атрибут "action.type" со значением "post". Как бы я это сделал? Вот как я обычно создаю такие вещи, как:
dynamic ActionSpec = new ExpandoObject();
ActionSpec.SomeParam = "something";
ActionSpec.id = 12345;
Я не могу перейти к "ActionSpec.action.type", потому что это не выведет желаемый "action.type". Имеет ли это смысл? Спасибо!
2 ответа
Решение
Вы можете попробовать заполнить его через словарь:
IDictionary<string, object> expandoDictionary = ActionSpec;
expandoDictionary["action.type"] = "post";
Однако я не удивлюсь, если он отклонит это как недействительный идентификатор.
Использование Json.Net
JObject jObj = new JObject();
jObj["action.type"] = "post";
jObj["application"] = "APP_ID";
var json = jObj.ToString();