2 votes

Les points dans le nom de c# dynamic ExpandoObjects ?

C'est peut-être une question idiote, mais je travaille sur un projet qui me demande de générer du JSON qui ressemble à ceci :

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

En C#, j'essaie de créer cet attribut "action.type", avec la valeur "post". Comment faire ? Voici comment j'ai typiquement créé des choses comme :

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

Je ne peux pas utiliser "ActionSpec.action.type", car cela ne produira pas le "action.type" souhaité. Est-ce que cela a un sens ? Je vous remercie.

8voto

Jon Skeet Points 692016

Vous pouvez essayer en l'alimentant par l'intermédiaire du dictionnaire :

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

Cependant, je ne serais pas du tout surpris qu'il rejette cet identifiant comme étant invalide.

2voto

L.B Points 54001

Utilisation Json.Net

JObject jObj = new JObject();

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

var json = jObj.ToString();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X