C# Web API中JSON输入的XML等价物

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来确定这一点。我假设您需要某种类型的

我有以下JSON结构,它是我的Web API的输入

{
    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>