【发布时间】:2016-10-31 19:24:09
【问题描述】:
我有一个格式如下的 XML 文件:
<root>
<foos>
<foo>
<id>1</id>
<number>1245</number>
</foo>
<foo>
<id>2</id>
<number>6743</number>
</foo>
<foo>
<id>3</id>
<number>2245</number>
</foo>
</foos>
<bars>
<bar>
<id>4</id>
<number>123</number>
</bar>
<bar>
<id>5</id>
<number>321</number>
</bar>
</bars>
</root>
请注意,foos 和 bars 等节点的数量很大。
我想将此结构解析为以下格式的 JSON:
{
foos: [
{
id: 1,
number: 1245
},
{
id: 2,
number: 6743
},
{
id: 3,
number: 2245
}
],
bars: [
{
id: 4,
number: 123
},
{
id: 5,
number: 321
}
]
}
我已经尝试使用NewtonSoft.Json 来实现这一点,它工作正常,除了节点没有按照我的意愿展平,我最终得到以下 JSON:
{
foos: { foo: [
{
id: 1,
number: 1245
},
{
id: 2,
number: 6743
},
{
id: 3,
number: 2245
} }
],
bars: { bar: [
{
id: 4,
number: 123
},
{
id: 5,
number: 321
} }
]
}
关于如何在不必遍历所有节点(如 foos 和 bars 并手动展平它)的情况下实现该结构的任何提示?
【问题讨论】:
-
如果“……工作正常,除了……”,它实际上不工作正常。
-
它甚至不是你想要得到的有效 json
-
我已经尝试使用 NewtonSoft.Json 来实现这一点,并且效果很好 -- 你能分享一下你到目前为止所做的尝试吗?
-
@Tinwor 它无效的唯一原因是键不在引号之间。是这样吗?你什么意思?
标签: c# json xml xml-deserialization