C# Web API中JSON输入的XML等价物
我有以下JSON结构,它是我的Web API的输入C# Web API中JSON输入的XML等价物,c#,json,xml,asp.net-web-api2,mediatypeformatter,C#,Json,Xml,Asp.net Web Api2,Mediatypeformatter,我有以下JSON结构,它是我的Web API的输入 { field1: "value1", field2: [ { field2_1: "aaaa", field2_2: "bbbb", field2_3: "cccc" } ], field3: [] } 我调用的API既支持JSON,也支持XML。 如果我想通过发送XML而不是json来调用相同的api,我应该如何将此结构转换为XML?您需要参考WebAPI来确定这一点。我假设您需要某种类型的
{
field1: "value1",
field2: [
{ field2_1: "aaaa", field2_2: "bbbb", field2_3: "cccc" }
],
field3: []
}
我调用的API既支持JSON,也支持XML。
如果我想通过发送XML而不是json来调用相同的api,我应该如何将此结构转换为XML?您需要参考WebAPI来确定这一点。我假设您需要某种类型的根元素。但我会这样格式化它:
<root>
<field1>value1</field1>
<field2>
<element>
<field2_1>aaaa</field2_1>
<field2_2>bbbb</field2_2>
<field2_3>cccc</field2_3>
</element>
<element>
<field2_1>aaaa</field2_1>
<field2_2>bbbb</field2_2>
<field2_3>cccc</field2_3>
</element>
</field2>
<field3 />
</root>
价值1
aaaa
bbbb
中交
aaaa
bbbb
中交
或
价值1
aaaa
bbbb
中交
aaaa
bbbb
中交
我想您可以通过JSON反序列化和XML序列化来实现这一点。难道您的web api没有帮助页面吗?这就是一个例子。您的客户端正在使用HttpClient吗?有XML或Json选项的。@andywiesharge:对不起,没有。web API没有帮助页。@GuillaumeBeauvois:什么意思?你能进一步解释一下你的建议吗?你是如何用Json打电话的?好的。这正是我正在尝试的方式。然而,主要的问题是field2是一个数组,我不知道如何表示它。例如,在您的建议中,您将如何用多个元素表示一个field2数组?您需要定义元素数组,或将每个field2用自己的元素名称包装。请查看我的编辑。不幸的是,这不是我的Web API。在API提供者的网站上,所有的示例都是JSON格式的,他们说他们的代码也可以使用XML。所以我不能定义任何元素。如果没有更多的信息,这个问题很难解决。也许您可以发布JSON示例或链接到API,这样我们就可以看一看了。如果他们不告诉您XML结构是什么,那么很难猜测。您能在XML中获得类似的结构吗?Get和POST/PUT可能使用相同的结构。
<root>
<field1>value1</field1>
<elements>
<field2>
<field2_1>aaaa</field2_1>
<field2_2>bbbb</field2_2>
<field2_3>cccc</field2_3>
</field2>
<field2>
<field2_1>aaaa</field2_1>
<field2_2>bbbb</field2_2>
<field2_3>cccc</field2_3>
</field2>
</elements>
<field3 />
</root>