属于此类的人
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));