在C#中,我有一个集合类(FeatureCollection
),我想在其中序列化为JSON并将其返回给调用者。 Feature
类包含5个属性,但调用者只需要2.因为我非常关注响应时间和性能,并且因为我的目标是最小化我发送的数据的大小,我想知道是否有办法发送最小化的'集合的版本(在修剪不需要的属性之后),而无需手动实现新的最小化类。我之所以不想创建一个新的最小化类并将其映射到原始类,只是为了让我的代码保持干燥和清洁。
我想到的代码(显然不起作用)如下所示:
return JsonConvert.SerializeObject(myFeatureCollection.TrimProperties(typeof(Feature).GetProperties().ToList().Find(property => property.Name == "Property1" || property.Name == "property2")));
答案 0 :(得分:2)
当您使用Json.NET时,您可以使用JsonIgnore
属性:
public class Foo
{
[JsonIgnore]
public int Bar { get; set; }
}
答案 1 :(得分:1)
使用匿名类型会为你工作吗?
return JsonConvert.SerializeObject(myFeatureCollection.Select(x => new { x.Property1, x.Property2 }));