Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将响应转发到不同URL时,在API管理策略表达式中将响应正文从XML转换为Json_C#_Html_Xml_Razor_Azure Api Management - Fatal编程技术网

C# 将响应转发到不同URL时,在API管理策略表达式中将响应正文从XML转换为Json

C# 将响应转发到不同URL时,在API管理策略表达式中将响应正文从XML转换为Json,c#,html,xml,razor,azure-api-management,C#,Html,Xml,Razor,Azure Api Management,将响应转发到其他URL时,如何将响应正文从XML更改为Json 我专门将响应转发给Azure服务总线 我尝试了许多不同的方法将XML序列化为json,但由于策略表达式中不允许的某些JsonConvert方法的限制,没有成功 不,不是解决方案:) https://servicebus.fake 邮递 @{ //一些代码用于构造服务总线请求所需的令牌密钥。 } @{ var guid=guid.NewGuid().ToString(); 返回guid; } 应用程序/json @{ //我必须在这

将响应转发到其他URL时,如何将响应正文从XML更改为Json

我专门将响应转发给Azure服务总线

我尝试了许多不同的方法将XML序列化为json,但由于策略表达式中不允许的某些JsonConvert方法的限制,没有成功

不,
不是解决方案:)


https://servicebus.fake
邮递
@{
//一些代码用于构造服务总线请求所需的令牌密钥。
}
@{
var guid=guid.NewGuid().ToString();
返回guid;
}
应用程序/json
@{
//我必须在这里补充什么?
}
应用程序/json
解决方案如下:)策略表达式中不允许使用典型的JsonConvert.SerializeXmlNode方法

不管多么好的ol'JsonConvert.SerializeObject都能做到这一点

<send-one-way-request mode="new">
    <set-url>http://requestb.in/xje199xj</set-url>
    <set-method>POST</set-method>
    <set-header name="Content-Type" exists-action="override">
    <value>application/json</value>
    </set-header>
        <set-body>@{
            string xml = context.Response.Body.As<string>(preserveContent: true);
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);

            return JsonConvert.SerializeObject(doc);
            }
        </set-body>
</send-one-way-request>

http://requestb.in/xje199xj
邮递
应用程序/json
@{
字符串xml=context.Response.Body.As(preserveContent:true);
XmlDocument doc=新的XmlDocument();
doc.LoadXml(xml);
返回JsonConvert.SerializeObject(单据);
}
<send-one-way-request mode="new">
    <set-url>http://requestb.in/xje199xj</set-url>
    <set-method>POST</set-method>
    <set-header name="Content-Type" exists-action="override">
    <value>application/json</value>
    </set-header>
        <set-body>@{
            string xml = context.Response.Body.As<string>(preserveContent: true);
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);

            return JsonConvert.SerializeObject(doc);
            }
        </set-body>
</send-one-way-request>