【发布时间】:2016-06-17 09:47:29
【问题描述】:
我有一个从不同 API 获取数据的控制台应用程序。
接收到的数据被映射到一个自定义类。这个类稍后被序列化为一个 json 字符串。完成后,我使用 urbanShip 将其推送到移动应用程序。
我的问题:
我只想在推送到达应用程序后看到消息属性。应包括所有其他属性,但需要隐藏它们。应用程序需要其他属性才能获取有关具有 Id 的特定对象的信息。
我尝试过:
我尝试在我想要显示/隐藏的属性上使用 [JsonIgnore] 和 [DataMember] 注释。然而这并没有奏效,我想知道我怎样才能做到这一点?
我的代码:
我目前正在序列化和推送的类:
[DataContract]
public class SubscriberPush
{
[DataMember]
public string TrainId { get; set; }
public string Message { get; set; }
public string Title { get; set; }
public string From { get; set; }
public string To { get; set; }
public bool LateTrain { get; set; }
public bool Canceled { get; set; }
}
设置数据:
pushSub.TrainId = trainAnnouncement.AdvertisedTrainIdent;
pushSub.Title = "the train is late";
pushSub.LateTrain = true;
pushSub.Message = "train is " + span.Minutes + " min late";
string json = Parser.ConvertToJson<SubscriberPush>(pushSub);
UrbanAirship.Push(ee.DeviceToken, json);
序列化器:
public static string ConvertToJson<T>(T obj)
{
var json = new JavaScriptSerializer().Serialize(obj);
return json.ToString();
}
JSON:
{"TrainId":"1036","Message":"train is 8 min late","Title":"the Train is late","From":null,"To":null,"LateTrain":true,"Canceled":false}
【问题讨论】:
-
你是什么意思但他们需要隐藏?它们要么被发送,要么不被发送。
标签: c# json asp.net-mvc urbanairship.com