我使用貝寶NVP和NVP在鍵值對串做出響應反序列化鍵值串
例
TOKEN = EC-3XXXXXXXXXXX154J & BILLINGAGREEMENTACCEPTEDSTATUS = 1 & CHECKOUTSTATUS = PaymentActionNotInitiated & TIMESTAMP = 2012 -07-10T11:45:59Z &的correlationID = ecf9bfe9b1168 & ACK =成功& VERSION = 64.0 & BUILD = 3242673 & [email protected] & PAYERID = 3V85HKW32SXKG & PAYERSTATUS =驗證& FIRSTNAME =戈文德& LASTNAME =馬爾維亞& COUNTRYCODE = US & SHIPTONAME =戈文德 馬爾維亞& SHIPTOSTREET = 1 MAIN ST & SHIPTOCITY =聖 聖何塞& SHIPTOSTATE = CA & SHIPTOZIP = 95131 & SHIPTOCOUNTRYCODE = US & SHIPTOCOUNTRYNAME =美國 美國& ADDRESSSTATUS =確認& CURRENCYCODE = USD & AMT = 30.90 & SHIPPINGAMT = 0.00 & HANDLINGAMT = 0.00 & TAXAMT = 0.00 & DESC =測試EC 付款& INSURANCEAMT = 0.00 & SHIPDISCAMT = 0.00 & PAYMENTREQUEST_0_CURRENCYCODE = USD & PAYMENTREQUEST_0_AMT = 30.90 & PAYMENTREQUEST_0_SHIPPINGAMT = 0.00 & PAYMENTREQUEST_0_HANDLINGAMT = 0.00 & PAYMENTREQUEST_0_TAXAMT = 0.00 & PAYMENTREQUEST_0_DESC =測試 EC 付款& PAYMENTREQUEST_0_INSURANCEAMT = 0.00 & PAYMENTREQUEST_0_SHIPDISCAMT = 0.00 & PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED = false & PAYMENTREQUEST_0_SHIPTONAME = Govind Malviya & PAYMENTREQUEST_0_SHIPTOSTREET = 1主 聖& PAYMENTREQUEST_0_SHIPTOCITY =聖 聖何塞& PAYMENTREQUEST_0_SHIPTOSTATE = CA & PAYMENTREQUEST_0_SHIPTOZIP = 95131 & PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE = US & PAYMENTREQUEST_0_SHIPTOCOUNTRYNAME =美國 美國& PAYMENTREQUESTINFO_0_ERRORCODE = 0
我想desrialize它的強類型數據,就像JavaScriptSerializer爲json字符串做的一樣。請不要使用字典提供解決方案我想避免魔術字符串,我可以在每個屬性上添加屬性。
我的班級
public class GetExpressCheckoutDetailsResponse : IPaypalResponse
{
public string Token { get; set; }
public string BillingAgreementAcceptedStatus { get; set; }
public string CheckoutStatus { get; set; }
public string Timestamp { get; set; }
public string CorrelationID { get; set; }
public Status Acknowledgement { get; set; }
public string Version { get; set; }
public string Build { get; set; }
public string Email { get; set; }
public string PayerID { get; set; }
public string PayerStatus { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string CountryCode { get; set; }
public string ShiptoName { get; set; }
public string ShiptoStreet { get; set; }
public string ShipToCity { get; set; }
public string ShipToState { get; set; }
public string ShipToZip { get; set; }
public string ShipToCountryCode { get; set; }
public string ShipToCountryName { get; set; }
public string AddressStatus { get; set; }
public string CurrencyCode { get; set; }
public string Amount { get; set; }
public string ShippingAmount { get; set; }
public string HandlingAmount { get; set; }
public string TaxAmount { get; set; }
public string Description { get; set; }
public string InsuranceAmount { get; set; }
public string ShipdiscAmount { get; set; }
public string PaymentRequestCurrencycode { get; set; }
public string PaymentRequestAmount { get; set; }
public string PaymentRequestShippingAmount { get; set; }
public string PaymentRequestHandlingAmount { get; set; }
public string PaymentRequestTaxAmount { get; set; }
public string PaymentRequestDescription { get; set; }
public string PaymentRequestInsuranceAmount { get; set; }
public string PaymentRequestShipdiscAmount { get; set; }
public string PaymentRequestInsuranceOptionOffered { get; set; }
public string PaymentRequestShipToName { get; set; }
public string PaymentRequestShipToStreet { get; set; }
public string PaymentRequestShipToCity { get; set; }
public string PaymentRequestShipToState { get; set; }
public string PaymentRequestShipToZip { get; set; }
public string PaymentRequestShipToCountryCode { get; set; }
public string PaymentRequestShipToCountryName { get; set; }
public string PaymentRequestInfoErrorCode { get; set; }
}
你有什麼關於使用反射?我懷疑有一個隨時可以使用的序列化器來做你想做的事情。 – 2012-07-10 12:37:58
思考和屬性聽起來不錯 – 2012-07-10 12:43:15
@Codeleuth我想可能會有很多不同的迴應,但反映_single_固定類似乎對我來說也是過分的。 – 2012-07-10 12:44:32