Java 在json响应中将null替换为空白,然后再次在json中转换它
**输出: =============>>>>Java 在json响应中将null替换为空白,然后再次在json中转换它,java,json,spring-mvc,spring-boot,Java,Json,Spring Mvc,Spring Boot,**输出: =============>>>> "status": "success", "messages": { "01010000": "Data available" }, "data": { "result": [ { "issuerName": "AXIS BANK LIMITED", "totalIssuerLimit": "55,000,000,000.00", "issuerLimitUtilised"
"status": "success",
"messages": {
"01010000": "Data available"
},
"data": {
"result": [
{
"issuerName": "AXIS BANK LIMITED",
"totalIssuerLimit": "55,000,000,000.00",
"issuerLimitUtilised": "0",
"issuerLimitAvailable": "55,000,000,000.00",
"issue": "INE238A08302",
"totalIssueLimit": "2,000,000,000.00",
"issueLimitUtilised": "0",
"issueLimitAvailable": "2,000,000,000.00"
},
{
"issuerName": null,
"totalIssuerLimit": null,
"issuerLimitUtilised": null,
"issuerLimitAvailable": null,
"issue": "INE238A08344",
"totalIssueLimit": "50,000,000,000.00",
"issueLimitUtilised": "0",
"issueLimitAvailable": "50,000,000,000.00"
},**
将json响应中的null替换为空白,然后再次将其转换为json
public Response limitAvailability(String dataTransportFormat) throws Exception {
logger.info("limitAvailability service");
logger.info("dataTransportFormat: " + dataTransportFormat);
Response response = null;
try {
Map<String, Object> uriVariables = new HashMap<>();
uriVariables.put("dataTransportFormat", dataTransportFormat);
/* System.out.println("url"+webServiceProperties.getUrls().get(MARGINS_TPR) + URL_SEGMENTS_SEPARATOR
+ webServiceProperties.getEndpoints().get(COLLATERAL_DETAILS)); */
response = genericRestConsumer.exchange(
webServiceProperties.getUrls().get(MARGINS_TPR) + URL_SEGMENTS_SEPARATOR
+ webServiceProperties.getEndpoints().get(LIMIT_AVAILABILITY),
HttpMethod.GET, uriVariables);
System.out.println("response-----------"+response);
System.out.println("uriVariables-----------"+uriVariables);
logger.info("limitAvailability data response: " + response);
} catch (Exception e) {
logger.error("Exception", e);
throw e;
}
return response;
}
public Response limitAvailability(字符串dataTransportFormat)引发异常{
logger.info(“limitAvailability服务”);
logger.info(“dataTransportFormat:+dataTransportFormat”);
响应=空;
试一试{
Map uriVariables=newhashmap();
uriVariables.put(“dataTransportFormat”,dataTransportFormat);
/*System.out.println(“url”+webServiceProperties.geturl().get(MARGINS\u TPR)+url\u SEGMENTS\u分隔符
+webServiceProperties.getEndpoints().get(抵押品详细信息))*/
response=genericRestConsumer.exchange(
webServiceProperties.getUrls().get(页边距\u TPR)+URL\u段\u分隔符
+webServiceProperties.getEndpoints().get(限制可用性),
HttpMethod.GET,uriVariables);
System.out.println(“响应------------”+响应);
System.out.println(“uriVariables------”+uriVariables);
logger.info(“limitAvailability数据响应:”+响应);
}捕获(例外e){
错误(“异常”,e);
投掷e;
}
返回响应;
}
只需在控制器中创建一个方法,并用空字符串替换所有null。(例如,此处的Person类)
然后是实体类
@JsonSerialize(using = PersonSerializer.class)
public class Person {
//First/Last name etc
}
您可以以
String
的形式获取json
,使用replaceAll(“null”,“null”)
@raul1ro没有人喜欢nullah bankanyway@kumesana-我不明白你想说什么。@raul1ro我的意思是,这种解决问题的方法将完全替换所有由n、u、l、l组成的字符序列。它根本不在乎这是JSON空文本还是字符串的一部分,例如“nullificationIssue”或“nullah bank and co”@raul1ro这是一个相当严重的错误。
@JsonSerialize(using = PersonSerializer.class)
public class Person {
//First/Last name etc
}