public class TripDetails : ITripList
{
public string Destination { get; set; }
public string DestinationDecoded { get; set; }
public string DestinationLangCodeDecoded { get; set; }
public string Origin { get; set; }
public string OriginDecoded { get; set; }
public string OriginLangCodeDecoded { get; set; }
public string BBXSession { get; set; }
public string BBXSolutionSetId { get; set; }
public string BBXCellIdSelected { get; set; }
public string CabinType { get; set; }
public string ColumnInformation { get; set; }
public string CountryCodes { get; set; }
public string DepartDate { get; set; }
public string DepartTime { get; set; }
public string DepartTimeApprox { get; set; }
public string RewardUpgradeSearch { get; set; }
public string Selected { get; set; }
public string UseFilters { get; set; }
//public string UseFilters { get; set; }
public TripDetails() { }
}
public class FareGroup
{
public string Request { get; set; }
public string AccessCode { get; set; }
public IEnumerable<TripDetails> Trips { get; set; }
}
public class FSampleConverter<T> : CustomCreationConverter<ITripList> where T : new()
{
public override ITripList Create(Type objectType)
{
return ((ITripList)new T());
}
}
Participant
1637 Points
688 Posts
How to deserialze below input string using newtonsoft json object
Nov 19, 2013 02:15 PM|mkonanki|LINK
string
requeststr =
"{\"Request\":\"\\\"{\\\"AccessCode\\\":\\\"1A7370E9-A532-4376-BD39-41795F01321C\\\",\\\"ApproxTimeOfDay\\\":0,\\\"AwardTravel\\\":false,\\\"Bereavement\\\":0,\\\"BBXSolutionSetIdSelected\\\":null,\\\"CalendarDateChange\\\":null,\\\"CalendarLengthOfStay\\\":-1,\\\"CalendarOnly\\\":false,\\\"CartId\\\":null,\\\"ChannelType\\\":\\\"bbx-avail\\\",\\\"CountryCode\\\":null,\\\"DepartDateTime\\\":\\\"11/19/2013\\\",\\\"Destination\\\":null,\\\"DeviceType\\\":null,\\\"FareCalendar\\\":false,\\\"FareFamilies\\\":true,\\\"FareMerchCalendar\\\":false,\\\"FlightNumber\\\":null,\\\"InclAltTransportation\\\":false,\\\"InclCancelledFlights\\\":true,\\\"InclOAMain\\\":true,\\\"InclStarMain\\\":true,\\\"InclUACodeshares\\\":true,\\\"InclUAMain\\\":true,\\\"InclUARegionals\\\":true,\\\"InclZeroAvailability\\\":false,\\\"LangCode\\\":\\\"en-US\\\",\\\"MaxConnectTimeMinutes\\\":0,\\\"MaxTrips\\\":0,\\\"MinConnectTimeMinutes\\\":0,\\\"Origin\\\":null,\\\"OxygenCarrierProvided\\\":true,\\\"OxygenCustomerProvided\\\":true,\\\"MilitaryStateCode\\\":null,\\\"MilitaryTravelType\\\":0,\\\"PageIndex\\\":1,\\\"PageSize\\\":25,\\\"PetTravel\\\":false,\\\"QueryType\\\":null,\\\"SearchFailoverDays\\\":0,\\\"SearchType\\\":0,\\\"ServiceType\\\":0,\\\"SessionId\\\":\\\"6024439c-0f56-491b-bdd2-4ac78ed3e8d7\\\",\\\"SortType\\\":\\\"bestmatches\\\",\\\"SortTypeDescending\\\":false,\\\"StartIndex\\\":0,\\\"Stops\\\":0,\\\"StopsInclusive\\\":true,\\\"TrueAvailability\\\":true,\\\"VendorGUID\\\":null,\\\"VendorName\\\":null,\\\"MarketingCarriers\\\":null,\\\"OperatingCarriers\\\":null,\\\"Midpoints\\\":null,\\\"Routes\\\":null,\\\"PaxInfoList\\\":[{\\\"PaxType\\\":1,\\\"DateOfBirth\\\":\\\"01/01/1980\\\"}],\\\"RequiredAvailabilitySumAllFlights\\\":null,\\\"Trips\\\":[{\\\"Destination\\\":\\\"DEN\\\",\\\"DestinationDecoded\\\":null,\\\"DestinationLangCodeDecoded\\\":null,\\\"Origin\\\":\\\"ORD\\\",\\\"OriginDecoded\\\":null,\\\"OriginLangCodeDecoded\\\":null,\\\"BBXSession\\\":null,\\\"BBXSolutionSetId\\\":null,\\\"BBXCellIdSelected\\\":null,\\\"CabinType\\\":0,\\\"ColumnInformation\\\":null,\\\"CountryCodes\\\":null,\\\"DepartDate\\\":\\\"11/19/2013\\\",\\\"DepartTime\\\":null,\\\"DepartTimeApprox\\\":0,\\\"RewardUpgradeSearch\\\":false,\\\"Selected\\\":false,\\\"UseFilters\\\":true,\\\"SearchFiltersIn\\\":{\\\"AircraftTypes\\\":null,\\\"AirportsOrigin\\\":null,\\\"AirportsDestination\\\":null,\\\"AirportsStop\\\":null,\\\"AirportsStopToAvoid\\\":null,\\\"CabinCountMin\\\":-1,\\\"CabinCountMax\\\":-1,\\\"CarriersMarketing\\\":null,\\\"CarriersOperating\\\":null,\\\"DurationMin\\\":-1,\\\"DurationMax\\\":-1,\\\"DurationStopMin\\\":-1,\\\"DurationStopMax\\\":-1,\\\"EquipmentCodes\\\":null,\\\"EquipmentTypes\\\":null,\\\"PriceMin\\\":-1.0,\\\"PriceMax\\\":-1.0,\\\"StopCountExcl\\\":-1,\\\"StopCountMin\\\":1,\\\"StopCountMax\\\":1,\\\"TimeDepartMin\\\":null,\\\"TimeDepartMax\\\":null,\\\"TimeArrivalMin\\\":null,\\\"TimeArrivalMax\\\":null,\\\"Warnings\\\":[]},\\\"SearchFiltersOut\\\":null,\\\"Flights\\\":null,\\\"FlightCount\\\":0},{\\\"Destination\\\":\\\"ORD\\\",\\\"DestinationDecoded\\\":null,\\\"DestinationLangCodeDecoded\\\":null,\\\"Origin\\\":\\\"DEN\\\",\\\"OriginDecoded\\\":null,\\\"OriginLangCodeDecoded\\\":null,\\\"BBXSession\\\":null,\\\"BBXSolutionSetId\\\":null,\\\"BBXCellIdSelected\\\":null,\\\"CabinType\\\":0,\\\"ColumnInformation\\\":null,\\\"CountryCodes\\\":null,\\\"DepartDate\\\":\\\"11/26/2013\\\",\\\"DepartTime\\\":null,\\\"DepartTimeApprox\\\":0,\\\"RewardUpgradeSearch\\\":false,\\\"Selected\\\":false,\\\"UseFilters\\\":false,\\\"SearchFiltersIn\\\":null,\\\"SearchFiltersOut\\\":null,\\\"Flights\\\":null,\\\"FlightCount\\\":0}]}\",\"Response\":null,\"RequestType\":\"String\",\"ResponseType\":null,\"Description\":\"This.Service.Request\",\"StateInfos\":null,\"FileName\":\"CSAddTokenMessageHandler.cs\",\"ClassName\":null,\"OperationName\":\"SendAsync\",\"Message\":null,\"LineNumber\":\"101\",\"AssemblyInfo\":null,\"EventInfo\":{\"EventType\":\"RestRequest\",\"EventSuccess\":null,\"EventLevel\":null},\"RequestUri\":null,\"TimeStamp\":\"2013-11-05T16:54:24.2262426-05:00\",\"TimeZone\":null,\"Loglevel\":0,\"RequestHeader\":[\"{\\r\\n \\\"Content-Length\\\": \\\"2804\\\",\\r\\n \\\"Content-Type\\\": \\\"application/json; charset=utf-8\\\",\\r\\n \\\"Accept\\\": \\\"application/json\\\",\\r\\n \\\"Authorization\\\": \\\"6024439c-0f56-491b-bdd2-4ac78ed3e8d7\\\",\\r\\n \\\"Expect\\\": \\\"100-continue\\\",\\r\\n \\\"Host\\\": \\\"unitedservicesstage.ual.com\\\",\\r\\n \\\"TransactionId\\\": \\\"9f4228a5-c1cf-44c9-a6c9-15d90b9adedd\\\"\\r\\n}\"],\"ResponseHeader\":null,\"ServiceType\":3,\"MethodType\":\"POST\"}"
;
I want lsit of trips and accesscode
Thanks,
Murali.
Participant
1637 Points
688 Posts
Re: How to deserialze below input string using newtonsoft json object
Nov 19, 2013 03:15 PM|mkonanki|LINK
public class Test2
{
public void TestAtreRequest()
{
string requeststr =
"{\"Request\":\"\\\"{\\\"AccessCode\\\":\\\"1A7370E9-A532-4376-BD39-41795F01321C\\\",\\\"ApproxTimeOfDay\\\":0,\\\"AwardTravel\\\":false,\\\"Bereavement\\\":0,\\\"BBXSolutionSetIdSelected\\\":null,\\\"CalendarDateChange\\\":null,\\\"CalendarLengthOfStay\\\":-1,\\\"CalendarOnly\\\":false,\\\"CartId\\\":null,\\\"ChannelType\\\":\\\"bbx-avail\\\",\\\"CountryCode\\\":null,\\\"DepartDateTime\\\":\\\"11/19/2013\\\",\\\"Destination\\\":null,\\\"DeviceType\\\":null,\\\"FareCalendar\\\":false,\\\"FareFamilies\\\":true,\\\"FareMerchCalendar\\\":false,\\\"FlightNumber\\\":null,\\\"InclAltTransportation\\\":false,\\\"InclCancelledFlights\\\":true,\\\"InclOAMain\\\":true,\\\"InclStarMain\\\":true,\\\"InclUACodeshares\\\":true,\\\"InclUAMain\\\":true,\\\"InclUARegionals\\\":true,\\\"InclZeroAvailability\\\":false,\\\"LangCode\\\":\\\"en-US\\\",\\\"MaxConnectTimeMinutes\\\":0,\\\"MaxTrips\\\":0,\\\"MinConnectTimeMinutes\\\":0,\\\"Origin\\\":null,\\\"OxygenCarrierProvided\\\":true,\\\"OxygenCustomerProvided\\\":true,\\\"MilitaryStateCode\\\":null,\\\"MilitaryTravelType\\\":0,\\\"PageIndex\\\":1,\\\"PageSize\\\":25,\\\"PetTravel\\\":false,\\\"QueryType\\\":null,\\\"SearchFailoverDays\\\":0,\\\"SearchType\\\":0,\\\"ServiceType\\\":0,\\\"SessionId\\\":\\\"6024439c-0f56-491b-bdd2-4ac78ed3e8d7\\\",\\\"SortType\\\":\\\"bestmatches\\\",\\\"SortTypeDescending\\\":false,\\\"StartIndex\\\":0,\\\"Stops\\\":0,\\\"StopsInclusive\\\":true,\\\"TrueAvailability\\\":true,\\\"VendorGUID\\\":null,\\\"VendorName\\\":null,\\\"MarketingCarriers\\\":null,\\\"OperatingCarriers\\\":null,\\\"Midpoints\\\":null,\\\"Routes\\\":null,\\\"PaxInfoList\\\":[{\\\"PaxType\\\":1,\\\"DateOfBirth\\\":\\\"01/01/1980\\\"}],\\\"RequiredAvailabilitySumAllFlights\\\":null,\\\"Trips\\\":[{\\\"Destination\\\":\\\"DEN\\\",\\\"DestinationDecoded\\\":null,\\\"DestinationLangCodeDecoded\\\":null,\\\"Origin\\\":\\\"ORD\\\",\\\"OriginDecoded\\\":null,\\\"OriginLangCodeDecoded\\\":null,\\\"BBXSession\\\":null,\\\"BBXSolutionSetId\\\":null,\\\"BBXCellIdSelected\\\":null,\\\"CabinType\\\":0,\\\"ColumnInformation\\\":null,\\\"CountryCodes\\\":null,\\\"DepartDate\\\":\\\"11/19/2013\\\",\\\"DepartTime\\\":null,\\\"DepartTimeApprox\\\":0,\\\"RewardUpgradeSearch\\\":false,\\\"Selected\\\":false,\\\"UseFilters\\\":true,\\\"SearchFiltersIn\\\":{\\\"AircraftTypes\\\":null,\\\"AirportsOrigin\\\":null,\\\"AirportsDestination\\\":null,\\\"AirportsStop\\\":null,\\\"AirportsStopToAvoid\\\":null,\\\"CabinCountMin\\\":-1,\\\"CabinCountMax\\\":-1,\\\"CarriersMarketing\\\":null,\\\"CarriersOperating\\\":null,\\\"DurationMin\\\":-1,\\\"DurationMax\\\":-1,\\\"DurationStopMin\\\":-1,\\\"DurationStopMax\\\":-1,\\\"EquipmentCodes\\\":null,\\\"EquipmentTypes\\\":null,\\\"PriceMin\\\":-1.0,\\\"PriceMax\\\":-1.0,\\\"StopCountExcl\\\":-1,\\\"StopCountMin\\\":1,\\\"StopCountMax\\\":1,\\\"TimeDepartMin\\\":null,\\\"TimeDepartMax\\\":null,\\\"TimeArrivalMin\\\":null,\\\"TimeArrivalMax\\\":null,\\\"Warnings\\\":[]},\\\"SearchFiltersOut\\\":null,\\\"Flights\\\":null,\\\"FlightCount\\\":0},{\\\"Destination\\\":\\\"ORD\\\",\\\"DestinationDecoded\\\":null,\\\"DestinationLangCodeDecoded\\\":null,\\\"Origin\\\":\\\"DEN\\\",\\\"OriginDecoded\\\":null,\\\"OriginLangCodeDecoded\\\":null,\\\"BBXSession\\\":null,\\\"BBXSolutionSetId\\\":null,\\\"BBXCellIdSelected\\\":null,\\\"CabinType\\\":0,\\\"ColumnInformation\\\":null,\\\"CountryCodes\\\":null,\\\"DepartDate\\\":\\\"11/26/2013\\\",\\\"DepartTime\\\":null,\\\"DepartTimeApprox\\\":0,\\\"RewardUpgradeSearch\\\":false,\\\"Selected\\\":false,\\\"UseFilters\\\":false,\\\"SearchFiltersIn\\\":null,\\\"SearchFiltersOut\\\":null,\\\"Flights\\\":null,\\\"FlightCount\\\":0}]}\",\"Response\":null,\"RequestType\":\"String\",\"ResponseType\":null,\"Description\":\"This.Service.Request\",\"StateInfos\":null,\"FileName\":\"CSAddTokenMessageHandler.cs\",\"ClassName\":null,\"OperationName\":\"SendAsync\",\"Message\":null,\"LineNumber\":\"101\",\"AssemblyInfo\":null,\"EventInfo\":{\"EventType\":\"RestRequest\",\"EventSuccess\":null,\"EventLevel\":null},\"RequestUri\":null,\"TimeStamp\":\"2013-11-05T16:54:24.2262426-05:00\",\"TimeZone\":null,\"Loglevel\":0,\"RequestHeader\":[\"{\\r\\n \\\"Content-Length\\\": \\\"2804\\\",\\r\\n \\\"Content-Type\\\": \\\"application/json; charset=utf-8\\\",\\r\\n \\\"Accept\\\": \\\"application/json\\\",\\r\\n \\\"Authorization\\\": \\\"6024439c-0f56-491b-bdd2-4ac78ed3e8d7\\\",\\r\\n \\\"Expect\\\": \\\"100-continue\\\",\\r\\n \\\"Host\\\": \\\"unitedservicesstage.ual.com\\\",\\r\\n \\\"TransactionId\\\": \\\"9f4228a5-c1cf-44c9-a6c9-15d90b9adedd\\\"\\r\\n}\"],\"ResponseHeader\":null,\"ServiceType\":3,\"MethodType\":\"POST\"}";
var j = JsonConvert.DeserializeObject<FareGroup>(requeststr, new FSampleConverter<TripDetails>());
j.Request=j.Request.Remove(0,1);
var j1 = JsonConvert.DeserializeObject<FareGroup>(j.Request, new FSampleConverter<TripDetails>());
Console.WriteLine(" AccessCode id:{0}", j1.Trips);
}
}
public interface ITripList
{
string Destination { get; set; }
string DestinationDecoded { get; set; }
string DestinationLangCodeDecoded { get; set; }
string Origin { get; set; }
string OriginDecoded { get; set; }
string OriginLangCodeDecoded { get; set; }
string BBXSession { get; set; }
string BBXSolutionSetId { get; set; }
string BBXCellIdSelected { get; set; }
string CabinType { get; set; }
string ColumnInformation { get; set; }
string CountryCodes { get; set; }
string DepartDate { get; set; }
string DepartTime { get; set; }
string DepartTimeApprox { get; set; }
string RewardUpgradeSearch { get; set; }
string Selected { get; set; }
string UseFilters { get; set; }
//string UseFilters { get; set; }
}
public class TripDetails : ITripList
{
public string Destination { get; set; }
public string DestinationDecoded { get; set; }
public string DestinationLangCodeDecoded { get; set; }
public string Origin { get; set; }
public string OriginDecoded { get; set; }
public string OriginLangCodeDecoded { get; set; }
public string BBXSession { get; set; }
public string BBXSolutionSetId { get; set; }
public string BBXCellIdSelected { get; set; }
public string CabinType { get; set; }
public string ColumnInformation { get; set; }
public string CountryCodes { get; set; }
public string DepartDate { get; set; }
public string DepartTime { get; set; }
public string DepartTimeApprox { get; set; }
public string RewardUpgradeSearch { get; set; }
public string Selected { get; set; }
public string UseFilters { get; set; }
//public string UseFilters { get; set; }
public TripDetails() { }
}
public class FareGroup
{
public string Request { get; set; }
public string AccessCode { get; set; }
public IEnumerable<TripDetails> Trips { get; set; }
}
public class FSampleConverter<T> : CustomCreationConverter<ITripList> where T : new()
{
public override ITripList Create(Type objectType)
{
return ((ITripList)new T());
}
}
All-Star
23975 Points
4084 Posts
Re: How to deserialze below input string using newtonsoft json object
Nov 20, 2013 05:01 AM|Starain chen - MSFT|LINK
Hi mkonanki,
Thanks for your post!
I don't understand clearly about your reply. Do you mean you resolved your issue by that code?
There is a sample that may benefit you:
About add the Newtonsoft.Json dll, please refer to: http://www.nuget.org/packages/newtonsoft.json/
Thanks
Best Regards