c# - 使用 json 数组和 json 对象的优缺点

标签 c# asp.net json asp.net-mvc asp.net-web-api

我的问题不太理论化,但很有趣。 我想知道在使用 Web API 时哪种方法最好。

我有两种方法

  1. 一个有List<Customer>作为参数

public void Create(List<Customer>) { //... }

  1. 第二个是CustomerList作为参数(其中 CustomerList 类具有属性 public List<Customer> customers {get; set;} )

public void Create(CustomerList customer) { //... }

我知道对于方法 1,我需要传递 json 数组,对于方法二,我需要将 json 数组包装到 json 对象。

但我的问题是哪种方法最好,为什么?

最佳答案

当涉及到 API 时,我总是尽量在涉及到它公开的契约(Contract)时尽可能明确。因此,当您需要一个列表时,请使用 JSON 数组。您的 API 用户将更加清楚所期望的内容。

话虽如此,使用 JSON 对象的优势在于,如果您稍后决定在您的请求中接受额外的属性,它不会成为重大更改。

最终,这完全取决于您的用例。这会是一个暴露给其他人而不只是你的端点吗?您是否已经知道您将来会希望接受其他数据以及客户名单?这些是您需要问自己的一些问题。

关于c# - 使用 json 数组和 json 对象的优缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41363369/

相关文章:

ASP.NET MVC5 Bootstrap CSS 搞乱了导航?

javascript - 使用目标 href 参数创建一个函数

django - 反向关系 ToManyField Tastypie

c# - 当方法具有 IDictionary 和 IDictionary<TKey, TValue> 的重载时调用不明确

c# - RegEx.Replace 仅替换第一次出现的情况,需要全部

asp.net - 如何设置一个控件永远在最前面

javascript - 当我更改选项时将 <select> 与来自 json 的数据连接起来

javascript - 从 php 文件中去除空格

c# - 首先使用 C# Json.NET 反序列化具有变量名的 Json 数组

c# - Entity Framework 错误 "Entity type is not mapped."