У меня есть это в формате JSON (данные изменены, чтобы защитить виновных):Split поля при десериализации JSON объект
{"members" : [{"Name":"Mick Jagger","Status":"ACTIVE","ExpireDate":"11/19/2015","TermType":"MONTH","State":"NY","Address2":"","Address1":"123 Anystreet","Type":"PREMIUM","EmailAddress":"[email protected]","Zip":"12345","Country":"US","City":"New York","Term":"12"},
{"Name":"Keith Richards","Status":"ACTIVE","ExpireDate":"11/19/2015","TermType":"ANNUAL","State":"CT","Address2":"","Address1":"5150 Main St","Type":"PREMIUM","EmailAddress":"[email protected]","Zip":"45678","Country":"US","City":"New York","Term":"1"}]}
И у меня есть этот класс:
public class Member
{
public string Company_Num { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Status { get; set; }
public string ExpireDate { get; set; }
public string TermType { get; set; }
public string State { get; set; }
public string Address2 { get; set; }
public string Address1 { get; set; }
public string Type { get; set; }
public string EmailAddress { get; set; }
public string Zip { get; set; }
public string Country { get; set; }
public string City { get; set; }
public string Term { get; set; }
}
public class MemberList
{
public List<Member> members { get; set; }
}
Когда я десериализации это в наборе данных , он работает красиво. Но ...
Когда я сгенерировал класс MemberList, я забыл, что «имя» в JSON необходимо разделить на FirstName и LastName. Есть ли способ десериализации объекта JSON и разделения «Имя» одновременно? (Так FirstName является «Кит», LastName является «Richards» и так далее.)
Вот как это выглядит, когда я десериализации его участники:
public static MemberList memList()
{
WebClient atv = new WebClient();
var data = atv.DownloadString("https://www.somewebsvc.com/memberships");
MemberList m = Newtonsoft.Json.JsonConvert.DeserializeObject<MemberList>(data);
return m;
}
Как вы будете разделить имена с несколькими словами? Я думаю, вы должны пересмотреть их разделение –
Мы уже остановились на том, как это будет обрабатываться. Я не доволен этим, но так хочет клиент. – Tom
Вы можете создать два поля, и в геттере просто разделите «Имя» так или иначе, как хотите –