我的web.config中有一个字符串列表,它描述了允许在我的web api中序列化的模型成员的名称(由Entity Framework生成)。
我如何例如在运行时设置# Dummy Data
rng = pd.date_range('1/1/2011', periods=5000, freq='min')
ts = pd.Series(np.random.randn(len(rng)), index=rng)
df = pd.DataFrame(ts, columns=['ts'])
df_1 = df.resample('5min').last()
# Change index to account for futures hours
df_1.index = pd.to_datetime(df_1.index.values + np.where((df_1.index.time >= datetime.time(17)), pd.offsets.Day(1).nanos, 0))
# Pivoting df_1 and making some formatting changes
df_2 = pd.pivot_table(df_1, index=df_1.index.date, columns=df_1.index.time, values='ts')
df_2.columns = df_2.columns.map(lambda t: t.strftime('%H%M'))
df_2_cols = df_2.columns.tolist()
for i in range(len(df_2_cols)):
if df_2_cols[i][0] == '0':
df_2_cols[i] = df_2_cols[i][1:4]
属性?
我们的想法是,不应该公开所有数据,应该公开应该公开的配置,而不需要重新编译。
到目前为止,我只是将该列表中未包含的成员的所有值设置为[IgnoreDataMember]
。但是这种解决方案不是最佳的,例如null
类型的成员被序列化为datetime
,此外,响应包含许多不必要的信息(响应可以增长到150MB)。因此,简单地从序列化过程中删除成员会更好。
答案 0 :(得分:1)
您可以使用以下属性:
[XmlIgnore]
表示XML或[JsonIgnore]
表示JSON。
例如:
[XmlIgnore]
public string MyString { get; set; }
或
[JsonIgnore]
public string MyString { get; set; }
希望这有帮助。
答案 1 :(得分:0)
我用if (emridhene.toString() == null || emridhene.toString() == "") {
mTextViewKonfirm.setText("Ju lutem shkruani nje Emer");
}
else{
mTextViewKonfirm.setText(emridhene);
}
解决了这个问题。因此,所有设置为null的属性都不包含在响应中。但是,这不是最佳解决方案,因为现在我无法发送任何空值,并且swagger也会显示完整模型。