使用属性将C#中的对象转换为JSON

is005

我正在尝试转换如下对象:

public class MyObject
{
    public ListOfStuff[] item { get; set; }
    public string Name { get; set; }
    public string Surname{ get; set; }
}

对于如下所示的JSON对象:

{"listofstuff":[{
            "@stuffone":"1",
            "@stufftwo":"2",
            "@stuffthree":"3",
    }], 
"@name":"Bob",
"@surname":"The Builder"}

因此,在稍后阶段将其转换为XML时,XML文件是以属性为中心,而不是以元素为中心。我遇到困难的部分是@attributes我正在使用Newtonsoft.JSON进行序列化,有关如何在C#中进行序列化的示例如下:

string myJSONObject = JsonConvert.SerializeObject(MyObject);

在此先感谢您的帮助。

乔恩·斯基特

您只需要使用该[JsonProperty]属性即可指定JSON名称。这是一个示例(ListOfStuff为简单起见,请采用相同的方法):

using System;
using Newtonsoft.Json;

public class MyObject
{
    [JsonProperty("@name")]
    public string Name { get; set; }
    [JsonProperty("@surname")]
    public string Surname{ get; set; }
}

class Test
{
    static void Main()
    {
        var x = new MyObject { Name = "Bob", Surname = "The Builder" };
        Console.WriteLine(JsonConvert.SerializeObject(x));
    }
}

输出:

{"@name":"Bob","@surname":"The Builder"}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章