我有一个包含PHP文档的第三方API,但是我正在使用C#MVC。 API方法之一作为参数字段发送。 “ FIELDS”是一个包含字段“ ID”的数组,其中存储了int值。 因此在PHP中,它将类似于:
$fields=array(ID=>4);
在C#中将这种参数转换为控制器方法的最佳方法是什么? 我是这样的:
public class FieldsModel
{
public int ID { get; set; }
}
[HttpPost]
public string Test(FieldsModel[] FIELDS)
{
//some code goes here
}
此代码有效,但是也许有更好的解决方案将名为数组的PHP映射到C#Controller参数?
P.S。实际上,“ FIELDS”数组在遇到米数时总是只包含一个ID。
答案 0 :(得分:1)
由于php数组可用作键,值数据结构,当将其序列化为JSON时,您将获得类似于:
{
"ID": 4
}
在C#中管理它的最简单方法(知道C#主要用于编写面向对象的代码)是将JSON解析为一个对象,该对象包含每个JSON密钥的属性。您还可以更改“使用”字段,而不是像这样的属性:
public class FieldsModel
{
public int ID;
}
但是不建议使用第二种方法。
我认为您只会得到一个“字段”,因此您可以重写Test端点以等待单个FieldsModel,如下所示:
[HttpPost]
public string Test(FieldsModel fields)
{
//some code goes here
}