我想在返回IEnumerable<T>
时控制根节点的输出。目前,我得到一个<ArrayOf_>
节点作为根:
<ArrayOfMyClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MyClass>
<Number>1</Number>
</MyClass>
<MyClass>
<Number>2</Number>
</MyClass>
</ArrayOfMyClass>
我希望能够将此更改为其他内容(就此而言,没有命名空间):
<NewRoot>
<MyClass>
<Number>1</Number>
</MyClass>
<MyClass>
<Number>2</Number>
</MyClass>
</NewRoot>
我不想创建一个组类,因为虽然这适用于XML,但我不想在我的JSON输出中使用组类集合属性:
{
"ListOfMyClass": [
{
"Number": 1
},
{
"Number": 2
}
]
}
相反,我希望保留它,就像默认情况下那样:
[
{
"Number": 1
},
{
"Number": 2
}
]
我意识到有一些似乎已经得到回答的类似问题,但这些问题都让我陷入了死胡同。我也可以自己破解结果(哎呀),但是我希望有一种最好的练习方式来提供这些东西;注释,格式化等。
有没有人在将JSON输出作为默认输出时取得了成功?
答案 0 :(得分:0)
你试过这个吗?
public MyController : ApiController
{
public NewRoot Get()
{
// return data
}
}
public NewRoot: IEnumerable<MyClass>
{
}