将 PHP 命名数组映射到 C# 控制器参数

我有一个带有 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。


DIEA
浏览 110回答 1
1回答

函数式编程

由于 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}
打开App,查看更多内容
随时随地看视频慕课网APP