我已经启动了REST hello world服务并运行ServiceStack。
它当前从一个看起来像的测试对象返回JSON:
{"Name":"Value"}
对象很简单:
public class TestResponse { public string Name { get; set; } }
有没有人可以如何装饰类来强制JSON中的根名称,所以它看起来像这样:
{ root:{"Name":"Value"} }
感谢。
答案 0 :(得分:2)
返回的JSON与您填充的DTO的确切形状(即首先是DTO的角色)相匹配。 因此,您应该更改DTO以表示您想要的确切形状,例如
public class TestResponse {
public TestRoot Root { get; set; }
}
public class TestRoot {
public string Name { get; set; }
}
然后你可以按照预期返回它:
return new TestResponse { Root = new TestRoot { Name = "Value" } };
或者如果您愿意,也可以使用词典:
public class TestResponse {
public TestResponse() {
this.Root = new Dictionary<string,string>();
}
public Dictionary<string,string> Root { get; set; }
}
并将其返回:
return new TestResponse { Root = { { "Name", "Value" } } };