{
"transactionId" : XXXXX,
"uri" : "https://XXX.XXXXXXXX.XXXX/XXX/XXX",
"terminalId" : 1,
"action" : "CHARGE",
"amountBase" : "3.00",
"amountTotal" : "3.00",
"status" : "CAPTURE",
"created" : "2015-01-24T07:24:10Z",
"lastModified" : "2015-01-24T07:24:10Z",
"response" :
{
"approved" : true,
"code" : "00",
"message" : "Approved",
"processor" :
{
"authorized" : true,
"approvalCode" : "XXXX",
"avs" :
{
"status" : "NOT_REQUESTED"
},
}
},
"settlement" :
{
"settled" : false
},
"vault" :
{
"type" : "CARD",
"accountType" : "VISA",
"lastFour" : "1111"
}
}
答案 0 :(得分:1)
我看到这已经获得了很多票数,但没有人提供任何建议。上面的json不是自然适合字典,但应该反序列化为对象。
响应,结算和保险库都有自己的属性,因此应该是他们自己的对象。
查看Json.net,了解将json转换为c#对象的好方法。如果您不知道如何在C#中表示此对象,那么您需要阅读一本关于编程的好书,其中包括面向对象编程。
对于这些问题,堆栈是一个很好的资源,但是您需要先尝试表明您已经完成了自己的研究,否则其他人只会将您的问题标记下来。答案 1 :(得分:1)
您是否收到包含JSON的POST?
您可以使用类似的东西,创建Request类的实例并将JSON obj分配给该实例。您应该能够通过请求实例访问参数。
基本结构看起来像这样:
public class Request
{
public Int64 transactionId { get; set; }
public string uri { get; set; }
public int terminalId { get; set; }
public string action { get; set; }
public string amountBase { get; set; }
public int amountTotal { get; set; }
public string status { get; set; }
public DateTime created { get; set; }
public DateTime lastModified { get; set; }
public Response response { get; set; }
public Settlement settlement { get; set; }
public Vault vault { get; set; }
}
public class Response
{
public bool approved { get; set; }
public int code { get; set; }
public string message { get; set; }
public Processor processor { get; set; }
}
public class Processor
{
public bool authorized { get; set; }
public string approvedCode { get; set; }
public AVS avs { get; set; }
}
public class AVS
{
public string status { get; set; }
}
public class Settlement
{
public bool settled { get; set; }
}
public class Vault
{
public string type { get; set; }
public string accountType { get; set; }
public string lastFour { get; set; }
}
希望这会有所帮助!!