0

这是一个两部分的问题。我想第一个是,我是否会以最好的方式做到这一点,第二个是我遇到的障碍。以下代码适用于字符串属性,但不适用于 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 };
}
4

1 回答 1

1

你可以做一个switchoverproperty.PropertyType并相应地解析 String 。

但是,我不建议您编写自己的 JSON 反序列化器。使用DataContractAPI:教程

于 2011-07-26T09:33:01.910 回答