这是一个两部分问题。我想第一个是,我是最好的方式来做这个,第二个是我遇到的障碍。以下代码适用于字符串属性,但不适用于例如int。我将KVP中的int值作为字符串获取,但是我无法在属性上将字符串设置为int。我找不到让我解析的语法。
[WebInvoke(UriTemplate = "", Method = "POST")]
public Response Post(JsonValue items)
{
List<Provider> providers = new List<Provider>();
foreach (var item in items)
{
var json = item.Value;
var provider = new Provider();
foreach (var property in typeof(Provider).GetProperties())
{
if (json.ContainsKey(property.Name))
property.SetValue(provider, json[property.Name].ToString(), null);
}
providers.Add(provider);
}
return new Response { success = true, data = providers };
}
答案 0 :(得分:1)
您可以switch
超过property.PropertyType
并相应地解析字符串。
但是,我不建议您编写自己的JSON反序列化程序。使用DataContract
API:Tutorial。