相关疑难解决方法(0)

反序列化时的备用属性名称

参考这个问题:

在使用Json.net进行序列化时如何更改属性名称?

当然,很棒,但我可以吃蛋糕吗?

我正在寻找的是一种赏心悦目的方式,以一种字符可能包含的方式为一个属性提供一个替代名称.

就像是:

[BetterJsonProperty(PropertyName = "foo_bar")]
public string FooBar { get; set; }
Run Code Online (Sandbox Code Playgroud)

{
     "FooBar": "yup"
}
Run Code Online (Sandbox Code Playgroud)

{     
      "foo_bar":"uhuh"
}
Run Code Online (Sandbox Code Playgroud)

将按预期反序列化.

由于没有属性的解决方案可以工作,或者类的属性如下:

 [AllowCStylePropertyNameAlternatives]
Run Code Online (Sandbox Code Playgroud)

c# json.net

19
推荐指数
2
解决办法
2万
查看次数

Json.net重命名属性

我有一个表示JSON的字符串,我想使用JSON.NET重命名一些属性.我需要一个通用函数来用于任何JSON.就像是:

public static void Rename(JContainer container, Dictiontionary<string, string> mapping)
{
  foreach (JToken el in container.Children())
  {
    JProperty p = el as JProperty;
    if(el != null && mapping.ContainsKey(p.Name))
    {
      // **RENAME THIS NODE!!**
    }

    // recursively rename nodes
    JContainer pcont = el as JContainer;
    if(pcont != null)
    {
      Rename(pcont, mapping);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

怎么做??

.net c# json rename json.net

9
推荐指数
2
解决办法
8228
查看次数

标签 统计

c# ×2

json.net ×2

.net ×1

json ×1

rename ×1