私は残りAPIからの応答として取得していた下記のように私は、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オブジェクトを削除します。私は次の文字列を空白に置き換えることにしたいように:
String jsonStr = new String(Files.readAllBytes(Paths.get(inputFile)));
System.out.println(jsonStr);
jsonStr.replaceAll("link", "");
をしかし、それは空白が必要な文字列を交換していません。
"link": [],
"firstRecord": 1,
"pageSize": 10,
"searchToken": "multi",
"item":
は、私は次のようなアプローチをしようとしていますこれを達成するために。これで私を助けてください。
JSONライブラリを使用してJSONオブジェクトに変換するわけではありません。あなたが現在行っていることは、不正なJSONで終わる文字列置換です(文字列は不変であり、置き換えていることに注意してください)。 JSONオブジェクトを削除するには、まずそれをJSONオブジェクトとして解析し、特定のオブジェクトを無効にするか、 '@ JsonIgnore'または同等のものを使用します。 –
文字列は不変です。 replaceAllは取得していない新しいStringを生成します。それでも期待どおりには動作しません。単にリンクの代わりに ""を残すだけです。なぜあなたは、応答の内容を変更するのではなく、このフィールドの解析をスキップしないのですか? – mhenryk