1
yamlデータをMySQLのjacksonを使用して解析しようとしていますが、特殊文字があるというエラーが表示されます。私は正規表現を使用してそれを交換しようとしているジャクソンのエラー:許容できない文字 ''(0x0)特殊文字は許可されていません
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.8.1</version>
</dependency>
:
Pattern nonASCII = Pattern.compile("[^\\x00-\\x7f]");//("[^\\x00-\\x7f]");
resultContent = Normalizer.normalize(nonASCII.matcher(resultContent).replaceAll("");
ResultContentModel rc = mapper.readValue(resultContent, ResultContentModel.class);
をしかし、まだなかった
com.fasterxml.jackson.databind.JsonMappingException: special characters are not allowed
[Source: [email protected]; line: 13, column: 68] (through reference chain: com.app.ResultContentModel["opinion"])
...
Caused by: com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.YAMLException: special characters are not allowed
at [Source: [email protected]; line: 13, column: 68]
...
Caused by: unacceptable character '' (0x0) special characters are not allowed
in "'reader'", position 1027
このような私の依存関係ファイルを見て:私はこのようなエラー何かを得ます作業。私は何をすべきか?
「.replaceAll( "[\\ x00 - \\ x08 \\ x0B \\ x0C \\ x0E - \\ x20] +"」 ")" –
を置き換えてみてください。データ。 –
これは私のコメントのフィードバックですが、正規表現はYAMLデータと一致するのではなく、不要な制御文字を削除することに注意してください。 –