String jsonMessageString = Files.readString(Paths.get("src/main/resources/data.json").toAbsolutePath()); JSONObject jsonObject = new JSONObject(jsonMessageString); jsonObject.getJSONObject("message").put("from", credentials.getAddress()); jsonObject.getJSONObject("message").put("nonce", nonce); jsonObject.getJSONObject("message").put("data", encodedFunction); String modifiedJsonString = jsonObject.toString(); Sign.SignatureData signature = Sign.signTypedData(modifiedJsonString, credentials.getEcKeyPair());