【问题标题】:Pass list of objects to web-service [duplicate]将对象列表传递给 Web 服务 [重复]
【发布时间】:2017-10-12 11:57:09
【问题描述】:

我有一个对象数组

let arr = [{"1":"bar"},{"2":"bar"}]

通过data中的ajax发送到服务

然后服务将获取数组并做一些事情。

[WebInvoke]
public void getStuff(params Model[] data)
{
  // do stuff
}

接收数据arr 我的模型需要什么样的外观?

更新:

改变了对象中的键

【问题讨论】:

标签: c# .net arrays web-services object


【解决方案1】:

你可以这样做来获取参数:

var key = Request.Params[0];

然后你可以使用 var "key" 来填充模型

【讨论】:

    【解决方案2】:

    这个 .js 数组中的元素:

    let arr = [{"foo":"bar"},{"foo":"bar"}]
    

    可以表示为这个 .cs 类

    class Model 
    {
        public string foo;
    }
    

    因为对于每个对象({} 内的位),默认是将 lhs 映射到具有相同名称 (foo) 的类的属性。

    但是,在你编辑之后,如果你想要这个:

    let arr = [{"1":"bar"},{"2":"bar"}]
    

    那么这不能那么容易地映射到一个类,不是因为你不能有一个名为 '1' 的字段,还因为它意味着 json 的 lhs 有许多不同的选项。

    在这种情况下,请考虑使用字典

    【讨论】:

    • 不鼓励仅使用代码的答案。请为您的代码添加一些解释
    • 请在您的代码示例中添加上下文
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多