我有一个带有 PHP 文档的第三方 API,但我使用的是 C# 和 ASP.NET MVC。API 方法之一作为参数发送Fields。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# 控制器参数?PS 实际上,FIELDS如果重要的话,数组总是只包含一个 ID。
1 回答
![?](http://img1.sycdn.imooc.com/54584f3100019e9702200220-100-100.jpg)
函数式编程
TA贡献1807条经验 获得超9个赞
由于 php 数组可以用作 key,value 数据结构,当它序列化为 JSON 时,你会得到类似的内容:
{
"ID": 4
}
在 C# 中管理它的最简单方法(知道 C# 主要用于编写面向对象的代码)是将 JSON 解析为一个对象,该对象包含每个 JSON 键的属性。您还可以更改使用字段而不是属性,如下所示:
public class FieldsModel
{
public int ID;
}
然而,不推荐第二种方法。
我认为您只会得到一个“Field”,因此您可以重写您的 Test 端点以等待单个 FieldsModel,如下所示:
[HttpPost]
public string Test(FieldsModel fields)
{
//some code goes here
}
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消