为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
DIEA 2023-07-22 18:27:28
我有一个带有 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 回答

?
函数式编程

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

}


查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信