我有一個JSON文件,如下這我得到來自其他API響應:解析JSON響應特定一個JSONObjects - JAVA
{
"label": " MARA LEYZIN",
"ClassCode": "PROFESSIONAL",
"actvFlg": "A",
"name": "MARA LEYZIN",
"Typ": {
"label": "C_TYP_LU",
"TypCode": "PROFESSIONAL "
},
"Address": {
"link": [],
"firstRecord": 1,
"pageSize": 10,
"searchToken": "multi",
"item": [
{
"label": "Address",
"addrTypFk": {
"label": "C_ADDRESS_TYPE_LU",
"addrTypCd": "INDUSTRY",
"addrTypDesc": "Industry"
}
}
]
}
我試圖在Java中,並解析這個刪除一些不需要的json對象。就像我想用空替換以下字符串:
"link": [],
"firstRecord": 1,
"pageSize": 10,
"searchToken": "multi",
"item":
要做到這一點,我嘗試以下方法:
String jsonStr = new String(Files.readAllBytes(Paths.get(inputFile)));
System.out.println(jsonStr);
jsonStr.replaceAll("link", "");
但它沒有用空格代替必需的字符串。請幫助我。
您沒有將它轉換爲使用JSON庫的JSON對象。你目前正在做的是字符串替換,它會以不正確的JSON結束(請注意,字符串是不可變的,你只是替換。)。要移除一個JSON對象,首先將其解析爲JSON對象,並使特定對象無效或使用'@ JsonIgnore'或等價物。 –
字符串是不可變的。 replaceAll產生你沒有得到的新的String。它仍然不能按預期工作,它只會離開「」而不是鏈接。爲什麼不只是不跳過解析這個字段而不是改變響應內容? – mhenryk