Мне нужно сделать POST json string, используя HttpClient. Следующим будет код, который у меня есть. С другого конца Json отображается на объект.Ошибка синтаксического анализа Java + jackson Непризнанный побег символа
HttpClient client = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
String jsonData = "{ \"provider\" : null , \"password\" : \"a\", \"userid\" : \"mlpdemo\\mlpdemoins\" }";
post.setEntity(new ByteArrayEntity( jsonData.toString().getBytes("UTF8")));
HttpResponse response = client.execute(post);
Здесь все остальные правильно отображают ожидание userId. Здесь проблема связана с обратной косой чертой (mlpdemo \ mlpdemins). Я полагаю. Если я отправлю одну строку в качестве идентификатора пользователя, она будет отображаться без каких-либо проблем. Например: -
String jsonData = "{ \"provider\" : null , \"password\" : \"a\", \"userid\" : \"mlpdemoins\" }";
Это работает.
Но мне нужно это (mlpdemo \ mlpdemins) для отправки через POSt. Пожалуйста, помогите мне.
String jsonData = "{ \"provider\" : null , \"password\" : \"a\", \"userid\" : \"mlpdemo\\mlpdemoins\" }";
Это исключение, которое я получаю.
com.fasterxml.jackson.core.JsonParseException: Unrecognized character escape 'm' (code 109)
at [Source: [email protected]; line: 1, column: 62]
BadRequestException (0ea35150-f33a-4932-a31e-8a1048af53ad): 400 Bad Request, com.strategicgains.restexpress.serialization.DeserializationException: com.fasterxml.jackson.core.JsonParseException: Unrecognized character escape 'm' (code 109)
at [Source: java.io.I[email protected]; line: 1, column: 62]
at com.strategicgains.restexpress.Request.getBodyAs(Request.java:165)
at com.strategicgains.restexpress.Request.getBodyAs(Request.java:181)
Попробуйте избежать обратной косой черты с одним или более обратной косой черты '\ "mlpdemo \\\ mlpdemoins \"'. Не уверен, но попробуй. Извините, если я ошибаюсь –