JSON.NET序列化对象,其中属性名称以dot开头

Dav*_*ury 4 c# serialization json.net

是否有可能实现以下目标:

我有一节课:

public class Customer
{
    public Csutomer()
    {
    }

    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后我实例化我的课程:

Customer cust = new Customer();
cust.Name = "Jhon Smith";

string result = JsonConvert.SerializeObject(cust);
Run Code Online (Sandbox Code Playgroud)

结果将包含:

{"Name":"Jhon Smith"}
Run Code Online (Sandbox Code Playgroud)

我需要的是让json像这样,注意.Name之前的点.Name

{".Name":"Jhon Smith"}
Run Code Online (Sandbox Code Playgroud)

然后将Json解析回我的对象​​.

L.B*_*L.B 14

将您的财产声明为:

[JsonProperty(".Name")]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)

  • 做了一个小例子来验证它确实有效,考虑到删除的答案,所以我想我只是将它添加到你的答案. (2认同)
  • @TMcKeown确切地说,JSON属性名称只是字符串,几乎可以包含任何内容,尽管某些字符需要转义.见[Json.org](http://www.json.org/) (2认同)