Что может быть причиной ошибки «Неожиданный конец ввода в VALUE_STRING» - PullRequest
0 голосов
/ 25 февраля 2020

Я разработал программное обеспечение, и оно работало правильно, пока мой mysql сервер не вышел из строя. После cra sh я отформатировал свой сервер, а затем установил все, что мне было нужно, как в старые добрые времена. После форматирования все программы работают нормально, но разработанное мной программное обеспечение начало выдавать ошибки. Некоторые из моих столбцов в базе данных JSON. Обычно я получаю всю информацию из этого столбца, изменяю ее и восстанавливаю. К сожалению, после форматирования я получаю эту ошибку:

2020-02-25 14:04:25.947  WARN 12528 --- [io-8443-exec-10] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected end-of-input in VALUE_STRING; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected end-of-input in VALUE_STRING at [Source: (PushbackInputStream); line: 1, column: 15939] (through reference chain: com.bWS.entity.kk.MyEntity["hatalar"])]

Я ничего не менял в программном обеспечении, поэтому невозможно, чтобы мои JSON данные были неверными. Кроме того, эта ошибка появляется случайно, я имею в виду, например, в первой попытке эта ошибка появляется, но во второй попытке все работает отлично. Особенно, если длина данных становится больше, эта ошибка появляется чаще.

Мне нужна помощь, чтобы понять причину.

Спасибо всем.

Система:

  • Ubuntu 18.04
  • MySQL 8.0.19 (я тоже пробовал с 5.7)
  • OpenJDK 11.0.6
  • Tomcat 9

Программное обеспечение: веб-приложения на Java / Spring (Клиент + веб-сервис)

РЕДАКТИРОВАТЬ

Пример данных:

{
    "id": 824,
    "gId": 4904,
    "eK": "ABDURRAHMAN AKKUŞ",
    "tarih": "2020-02-25",
    "hatalar": {
        "periyot": [
            {
                "aralik": "10:00-11:00",
                "adi": [
                    {
                        "deger": "YOK",
                        "kalite": "1",
                        "hataKodlari": []
                    },
                    {
                        "deger": "YOK",
                        "kalite": "1",
                        "hataKodlari": []
                    }
                ]
            }
        ]
    }
}

Ответы [ 2 ]

1 голос
/ 18 марта 2020

Поскольку вы упомянули об использовании Tomcat 9, пытаясь поделиться своим недавним опытом.

Недавно я столкнулся с подобной проблемой. При обновлении до Tomcat 9.0.31 один из моих тестовых примеров, который выполняет POST большого JSON (чуть менее 2 МБ), начал случайный сбой с:

JSON ошибка разбора: Неожиданный конец ввода в VALUE_STRING; вложенное исключение: com.faster xml .jackson.databind.JsonMappingException: неожиданный конец ввода в VALUE_STRING в [Source: (PushbackInputStream); строка: 1, столбец: 17] (через цепочку ссылок: com.ab c .xyz ["str"]) - JSON ошибка разбора: неожиданный конец ввода в VALUE_STRING; вложенное исключение: com.faster xml .jackson.databind.JsonMappingException: неожиданный конец ввода в VALUE_STRING в [Source: (PushbackInputStream); строка: 1, столбец: 17] (через цепочку ссылок: com.ab c .xyz ["str"]) в

Оказывается, что в Tomcat 9.0.31 была ошибка, которая вызвало это.

https://bz.apache.org/bugzilla/show_bug.cgi?id=64202

Переход на Tomcat 9.0.33 решил мою проблему.

Вы также используете Tomcat 9.0.31?

0 голосов
/ 24 марта 2020

Спасибо за ответ, я также столкнулся с подобной проблемой конца ввода при разборе JSON.

JSON ошибка синтаксического анализа: неожиданный конец ввода в VALUE_STRING; вложенное исключение: com.faster xml .jackson.databind.JsonMappingException: неожиданный конец ввода

Эти ошибки возникли после того, как мы обновились до версии 9.0.31 сервера tomcat.

Как и предполагалось, мы попытались обновить до 9.0.33 и смогли решить эти проблемы !!

...