[WebInvoke(Method = "PUT",UriTemplate = "users",RequestFormat = Webmessageformat.Json,ResponseFormat = Webmessageformat.Json)] [OperationContract] Response PutUserAccount(User user);
用户的参数可能包含任意数量的参数,因此用户的实例有时可能是:
{ "name" : "John","Lastname" : "Doe","Email" : "jdoe@gmail.com","Username" : "jdoe","Gender" : "M" "Phone" : "9999999"}
甚至:
{ "name" : "John","Favoritecolor" : "Blue"}
使用具有可变数量属性的对象来表示JsON文档的最佳方法是什么?
编辑这个类允许我有一个灵活的JsON表示,因为我不能在WCF中使用JObject(我应该发布这个作为答案吗?):
using System; using System.Collections.Generic; using System.Runtime.Serialization;namespace Mynamespace { [Serializable] public class Data : ISerializable { internal Dictionary<string,object> Attributes { get; set; } public Data() { Attributes = new Dictionary<string,object>(); } public Data(Dictionary<string,object> data) { Attributes = data; } protected Data(SerializationInfo info,StreamingContext context) : this() { SerializationInfoEnumerator e = info.GetEnumerator(); while (e.MoveNext()) { Attributes[e.name] = e.Value; } } public voID GetobjectData(SerializationInfo info,StreamingContext context) { foreach (string key in Attributes.Keys) { info.AddValue(key,Attributes[key]); } } public voID Add(string key,object value) { Attributes.Add(key,value); } public object this[string index] { set { Attributes[index] = value; } get { if (Attributes.ContainsKey(index)) return Attributes[index]; else return null; } } }
}
解决方法 您可以使用 Json.NET中的JObject类.您可以将Json解析为JObject属性并对其进行 *** 作. JObject不仅仅是一本词典. 总结以上是内存溢出为你收集整理的在C#中使用可变参数表示JSON的类的最佳方法全部内容,希望文章能够帮你解决在C#中使用可变参数表示JSON的类的最佳方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)