Unë kam një HttpClient që merr një varg json nga një Api REST. Në varësi të suksesit ose jo, struktura të ndryshme json kthehen. Unë jam duke përdorur bibliotekat JSON.Net për të deserializuar vargun në klasë të ndryshme dhe kodi po hedh gabim. Këtu është kodi im
Nëse është i suksesshëm, vargu json do të ishte: {"token":"9416285736761111","expiry":"1230","name":"ETS TEST CARD VISA"}
nëse ka ndonjë gabim: {"errorCode":"2", "errorMessage":"Shenja e pavlefshme"}
Klasat e mia janë ReadCardResponse:
public class ReadCardResponse
{
public string token{get;set;}
public string expiry {get; set;}
public string name {get;set;}
public string merchid { get; set; }
public int amount { get; set; }
public string tokenize { get; set; }
public string orderId { get; set; }
}
Përgjigja e gabimit:
public class ErrorResponse
{
public string errorCode{get;set;}
public string errorMessage{get;set;}
}
dynamic_ccResponse = JsonConvert.DeserializeObject(ccResultJson);
if ((_ccResponse.token.Length > 5) && (_ccResponse.expiry.Length >= 3))
{
_readCardResponse = new ReadCardResponse();
_replyCode = "1";
_readCardResponse.expiry = _ccResponse.expiry;
_readCardResponpse.name = _ccResponse.name;
_readCardResponse.token = _ccResponse.token;
//Use the below notation to access values
readCardResponse.expiry = _ccResponse["expiry"];
_readCardResponse.name = _ccResponse["name"];
_readCardResponse.token = _ccResponse["token"];
_readCardResponse.amount = _requestObject.amount;
_readCardResponse.orderId = _requestObject.orderId;
_readCardResponse.tokenize = "y";
}
else if (Convert.ToInt32(_ccResponse.errorCode) == 1) //timeout
{
_replyCode = "2";
}
else if (Convert.ToInt32(_ccResponse.errorCode) == 8) //cancel button was pressed on the terminal
{
_replyCode = "8";
}
Gabimi i kthyer është: ReadCardResponse JSON: {"token":"9416285736761111", "skadimi":"1230", "emri":"ETS TEST CARD VISA"} Gabim në analizimin e përgjigjes së cc në CallSite.Target(Mbyllja , CallSite , Object) në System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](faqe CallSite, T0 arg0)
Si mund të bëj deserializimin e një json në klasa të ndryshme?