[英]Convert soap response to json
我有以下 soap 回復
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:confirmPayer_10Response xmlns:ns2="http://v1.ws.provider.acp.com/">
<return>
<KeyValues>
<Key>MICROFILM_NUMBER</Key>
<Data>71111112236100141977490</Data>
</KeyValues>
<KeyValues>
<Key>USER_TOKEN</Key>
<Data>hpuser</Data>
</KeyValues>
<KeyValues>
<Key>PASSWORD_TOKEN</Key>
<Data>hpuser+22**</Data>
</KeyValues>
</return>
</ns2:confirmPayer_10Response>
</soap:Body>
</soap:Envelope>
我如何將此響應轉換為如下所示的 json
{
"MICROFILM_NUMBER" : "71111112236100141977490",
"USER_TOKEN" : "hpuser",
"PASSWORD_TOKEN" : "hpuser+22**"
}
Underscore -java可以將xml轉換為json。
String xml = "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" +
" <soap:Body>\n" +
" <ns2:confirmPayer_10Response xmlns:ns2=\"http://v1.ws.provider.acp.com/\">\n" +
" <return>\n" +
" <KeyValues>\n" +
" <Key>MICROFILM_NUMBER</Key>\n" +
" <Data>71111112236100141977490</Data>\n" +
" </KeyValues>\n" +
" <KeyValues>\n" +
" <Key>USER_TOKEN</Key>\n" +
" <Data>hpuser</Data>\n" +
" </KeyValues>\n" +
" <KeyValues>\n" +
" <Key>PASSWORD_TOKEN</Key>\n" +
" <Data>hpuser+22**</Data>\n" +
" </KeyValues>\n" +
" </return>\n" +
" </ns2:confirmPayer_10Response>\n" +
" </soap:Body>\n" +
"</soap:Envelope>";
U.Builder builder = U.objectBuilder().fromXml(xml);
U.Builder out = U.objectBuilder();
out.add(builder.get("soap:Envelope.soap:Body.ns2:confirmPayer_10Response.return.KeyValues.0.Key"),
builder.<Object>get("soap:Envelope.soap:Body.ns2:confirmPayer_10Response.return.KeyValues.0.Data"));
out.add(builder.get("soap:Envelope.soap:Body.ns2:confirmPayer_10Response.return.KeyValues.1.Key"),
builder.<Object>get("soap:Envelope.soap:Body.ns2:confirmPayer_10Response.return.KeyValues.1.Data"));
out.add(builder.get("soap:Envelope.soap:Body.ns2:confirmPayer_10Response.return.KeyValues.2.Key"),
builder.<Object>get("soap:Envelope.soap:Body.ns2:confirmPayer_10Response.return.KeyValues.2.Data"));
System.out.println(out.toJson());
{
"MICROFILM_NUMBER": "71111112236100141977490",
"USER_TOKEN": "hpuser",
"PASSWORD_TOKEN": "hpuser+22**"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.