在C#

时间:2018-12-31 00:15:25

标签: c# json.net custom-attributes

属于此类的人

using Newtonsoft.Json;

namespace Models
{
    public class ItemsDbTable
    {
          [JsonProperty("City")]
          public string City { get; set; }
          [JsonProperty("Delivery.no")]
          public string DeliveryNo { get; set; }
          [JsonProperty("Delivery.type")]
          public string DeliveryType { get; set; }
          [JsonProperty("House.street.no")]
          public string HouseStreetNo { get; set; }
    }
}

现在有趣的部分是当我有ItemsDbTable的列表并开始对其进行迭代时。我想使用JsonPropertyAttribute获取ItemsDbTable的迭代实例的值。

这是我在做什么,

因为我的数据是通过Web应用程序输入的,所以我由杰森(Json)设计,但是字段与我的模型字段不同。这就是为什么我使用JsonPropertyAttribute来帮助映射的原因。但是随后我使用了另一个数据源,该数据源仍引用Json必须获取值的旧名称。

让我告诉您正在谈论什么。

 var itemsDbRow = str.ItemsDbTable.Single(x => 
     x.ArticlesKey == itemsTable.ArticlesKey);

所以在这里,我有一个itemsDbTable类的实例。

然后我有一个来自某个地方的变量,但是它具有JsonPropertyAttributeName。

然后我搜索这样的值

var val = itemsDbRow.GetType().GetProperties()
     .Select(propertyInfo => propertyInfo.GetCustomAttributesData()
     .Where(x => x.ConstructorArguments[0].Value.ToString() == bindingValueSrc));

0 个答案:

没有答案