Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.3k views
in Technique[技术] by (71.8m points)

c# - Prefix some characters to the property name - JSON Serialization

If I have a class like

class A
{
    public int Age {get; set;}
    public string Name {get; set;}
}

Is there a way to serialize this object to generate properties with some arbitrary characters like this

[{ "prefix.age": 1, "prefix.name": "Apple" }]

I'm using Newtonsoft.Json for my serialization needs.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Just apply the JsonProperty attribute to your class properties like this:

class A
{
    [JsonProperty("prefix.age")]
    public int Age { get; set; }

    [JsonProperty("prefix.name")]
    public string Name { get; set; }
}

And then serialize it:

var a = new A { Age = 1, Name = "Apple" };
var serializedObject = JsonConvert.SerializeObject(a);

serializedObject will contain JSON string: {"prefix.age":1,"prefix.name":"Apple"}.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...