Периоды во имя 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();
Другие вопросы по тегам