转换SOAP响应为JSON (使用API),所以现在需要自定义的JSON响应,其中删除一些属性和更改字段名称。就像下面的例子。
示例:
{
"s:Envelope": {
"xmlns:s": "http://schemas.xmlsoap.org/soap/envelope/",
"s:Body": {
"Response": {
"xmlns": "http://www.tempuri.org/",
"Result": {
"xmlns:a": "http://wwww.datacontract.org/",
"a:CodeSet": [
{
"a:FullDescription": {
"i:nil": true
},
"a:AgeFrom": {
"i:nil": true
},
"a:ShortDescription": {
"i:nil": true
},
"a:Code": "111111",
"a:LongDescription": "Have a Nice Day",
"a:EffectiveDate": "01/01/2017"
},
{
"a:FullDescription": {
"i:nil": true
},
"a:AgeFrom": {
"i:nil": true
},
"a:ShortDescription": {
"i:nil": true
},
"a:Code": "222222",
"a:LongDescription": "Long Working Day",
"a:EffectiveDate": "01/01/2018"
}
]
}
}
}
}
}
至:
{
"data": [
{
"CODE": "111111",
"EFFECTIVE_DATE": "2017-01-01",
"TERM_DATE": "9999-12-31",
"AGE_FROM": "true",
"SHORT_DESC": "HND",
"LONG_DESC": "Have a Nice Day"
},
{
"CODE": "2222222",
"EFFECTIVE_DATE": "2018-01-01",
"TERM_DATE": "9999-12-31",
"AGE_FROM": "true",
"SHORT_DESC": "LWD",
"LONG DESC": "Long Working Day"
}
]
}
关于转换它的简单方法的建议,意味着有什么API或注解可以做到吗?注意:响应时间已经超过15秒。
发布于 2018-06-06 04:47:11
您可以尝试使用JSON-P1.1。下面是Adam Bien博客中的一个例子:
import javax.json.Json;
import javax.json.JsonArray;
import javax.json.JsonArrayBuilder;
import javax.json.JsonObject;
//...
@Test
public void jsonObjectUpdate() {
String key = "update";
String JAVA_EE_8 = "is easy with Java EE 8";
JsonObject initial = Json.createObjectBuilder().
add(key, "was hard in Java EE 7").
build();
JsonObject updated = Json.createObjectBuilder(initial).
add(key, JAVA_EE_8).
build();
assertThat(updated.getString(key), is(JAVA_EE_8));
assertThat(updated.size(), is(1));
}
完整的文章在这里:http://www.adam-bien.com/roller/abien/entry/updating_jsonobjects_with_json_p
或者,如果你想要一个更面向对象的方法,你应该添加你自己的JsonObject实现(这也是JSON-P规范)。您的实现将接受ctor的初始JsonObject,并实现从中提取和返回data
JsonArray的逻辑。
https://stackoverflow.com/questions/50707410
复制相似问题