首页 > 解决方案 > Xamarin/C# POST 到 RESTful api

问题描述

如果这是一个愚蠢的问题,我深表歉意,我已经被投入到一个对 C#/Xamarin 知识很少的项目中,并且一段时间以来我一直在用头撞墙。

所以...

我正在尝试对 SagePay API 进行后期调用(https://test.sagepay.com/documentation/#card-identifiers

我一直在访问我们的 API,并且我已经很好地访问了其他 SagePay API,

我遇到的问题是这个调用是一个“嵌套”json(为不正确的术语道歉)

如何以这种格式提交 POST

{
"cardDetails":
    {
        "cardholderName": "SAM JONES",
        "cardNumber": "4929000000006",
        "expiryDate": "0320",
        "securityCode": "123"
    }
}

标签: c#xamarinopayo

解决方案


您在该链接(json2csharp)中创建了您的对象:

public class CardDetails
{
    public string cardholderName { get; set; }
    public string cardNumber { get; set; }
    public string expiryDate { get; set; }
    public string securityCode { get; set; }
}

public class RootObject
{
    public CardDetails cardDetails { get; set; }
}

序列化(JSON.Net):

var cardIdentifier = new RootObject{
    cardDetails = new CardDetails{
        cardholderName = "EdSF", 
        cardNumber = "4111111111111111", 
        expiryDate = "0320", 
        securityCode = "123"
    }
};


Console.WriteLine(JsonConvert.SerializeObject(cardIdentifier));

结果:

{
  "cardDetails": {
    "cardholderName": "EdSF",
    "cardNumber": "4111111111111111",
    "expiryDate": "0320",
    "securityCode": "123"
  }
}

嗯……


推荐阅读