【问题标题】:Set an mapping for a simple parameter in a complex Json expectation为复杂 Json 期望中的简单参数设置映射
【发布时间】:2021-03-08 10:29:09
【问题描述】:

我遇到了麻烦,因为我需要避免一个 API 的制动变化。

问题是我期待一个参数,我们称它为 FilterParam<string> filter,这是一个带有属性 filterStringsorterString 的 JSON 参数。

我目前的问题是我有一些过滤器是string filter,我需要将它们转换为FilterParam<string> filter,但现在还支持像下面的https://foo/fooget?filter=simpleString 这样的调用,因为这个调用没有正确的JsonFormat 我是无法将这个简单的字符串映射到复杂类的 filterString 属性。

问题是,是否有一种简单的方法或配置(用于反序列化)允许我设置如下内容:

如果没有格式或者没有json,设置参数值为x属性

有什么想法吗?

【问题讨论】:

    标签: c# json .net .net-core


    【解决方案1】:

    据我了解,您似乎想设置属性值。如果我误解了您的问题,请纠正我。代码如下:

    if (format == null || json == null) {
                filter.GetType().GetProperties().Where(p =>
                {
                    // Find property name that are "filterString" and "sorterString"
                    return p.Name == "filterString" || p.Name == "sorterString";
                }).ToList().ForEach(p =>
                {
                    // Set value "X" to filterString and sorterString
                    p.SetValue(filter, "X");
                });
    }
    

    【讨论】:

      猜你喜欢
      • 2018-07-28
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2014-10-03
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多