我正在尝试转换下面的对象:
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);
提前感谢您的帮助。
答案 0 :(得分:1)
您只需使用[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"}