我從不同來源獲取json格式的數據,並試圖將它們映射到實現相同接口的對象。如何解析json以從不同來源枚舉
JSON的變量看起來是這樣的,從進料1:
{"identifier": 232, "type": "Feed1"}
而且我使用這個對象序列化它:
[DataContract]
public class Class A : InterfaceA
{
[DataMember(Name = "identifier")]
public int Id{ get; set; }
[DataMember(Name = "type")]
public FeedType Type { get; set; }
}
[DataContract]
public enum FeedType
{
[EnumMember(Value = "Feed1")]
FeedA,
[EnumMember(Value = "Feed2")]
FeedB,
[EnumMember(Value = "Feed3")]
FeedC
}
界面看起來是這樣的:
public interface InterfaceA
{
int Id {get;set;}
FeedType Type{get;set;}
}
在Feed 2中,對象如下所示:
{"identifier": 232, "feedType": "A"}
如何創建另一個實現相同接口的對象並返回相同的枚舉?我如何設置DataContract?
編輯:
我序列像這樣
var serializer = new DataContractJsonSerializer(ClassA);
var ms = new MemoryStream(Encoding.Unicode.GetBytes(json));
var serializedObject = serializer.ReadObject(ms);
第一件事情,你不能創建接口的實例,所以你需要創建一個實際的類的實例,你有沒有想過使用一個通用的方法? – Liam
您是否可以在其中包含實際將Json分流的代碼? – Liam
@Liam我曾考慮泛型類型。但我希望它是相同類型的枚舉。 – johan