【发布时间】:2019-07-28 20:06:25
【问题描述】:
我正在尝试删除某些键的空值,我尝试使用此 REGEX 但它不起作用。请您指教...
private static final String REMOVE_NULL_VALS_REGEX = ",\"([^\"]+)\":null|\"([^\"]+)\":null,|\"([^\"]+)\":null";
{
"event": "111e0d4a",
"type": "business",
"eventProducerId": "Billing",
"eventVersion": "1.0",
"headerReference": {
"activityId": "999",
},
"payload": {
"trans": "Line",
"details": {
"plan": {
"features": [
{
"featureName": "GSM",
}
],
"planName": "null"
},
"number": {
"mobileNumber": "111111111"
},
"lineType": "GSM"
},
"dea": "0000002",
"sourceBan": "null",
"financialAccount": {
"financialAccountNumber": "212121"
},
"reasonCode": "null"
}
}
我已转换为字符串,并尝试使用正则表达式删除那些空值。
【问题讨论】:
-
你调用了某种正则表达式替换或replaceAll?
-
为什么不解析成 POJO 忽略空值?
-
是的,我使用的是全部替换。
-
在发布的文本中没有出现
:null,因此该表达式永远不会匹配(并且正则表达式不是最适合该工作的) -
我也试过那个 - private static final String REMOVE_NULL_VALS_REGEX = ",\"([^[ ]*\"]+)\": \"null\"|\"([^[ ]*\"]+)\": \"null\",|\"([^[ ]*\"]+)\": \"null\"";
标签: java json regex regex-group