Json: неожиданный символ, встречающийся при синтаксическом анализе значения: s. Path «, строка 0, позиция 0

#c# #asp.net #json #entity-framework #entity

#c# #asp.net #json #entity-framework #сущность

Вопрос:

Этот код;

 public void ProcessRequest(HttpContext context)
{
    string jSon = new StreamReader(context.Request.InputStream).ReadToEnd();
    string result = LETSGO.BUSINESS.Process.ApiProcesRequest(jSon);        
    context.Response.ContentType = "application/json";
    context.Response.Write(result);
}
 

Ошибка: Неожиданный символ, обнаруженный при синтаксическом анализе значения: s. Path «, строка 0, позиция 0.

Как мне исправить ошибку?

Эта функция отправляет;

 public static string ApiProcesRequest(string request)
    {
        Result result = new Result();
        try
        {
            var req = JsonConvert.DeserializeObject<Request>(request);
            switch (req.RequestType)
            {
                #region 1002 - Kullanıcı şifre hatırlatma
                case "1002":
                    result = UserProcess.PasswordReminder(request);
                    return JsonConvert.SerializeObject(result);
                    break;
                #endregion } } }
 

Комментарии:

1. Вы упускаете самую важную часть — что вы анализируете в своей функции?

2. Какая строка выдает исключение? Кроме того, можете ли вы показать нам JSON, который он пытается проанализировать (т. Е. Данные, Которые считываются из входного потока)?

Ответ №1:

 string jSon = new StreamReader(context.Request.InputStream).ReadToEnd();
 

Здесь вы можете получить строку типа s.Path , она не может быть десериализована из-за того, что это неправильно сформированный объект json.

Комментарии:

1. @Ekskalibbur пожалуйста, используйте debug, чтобы увидеть содержимое ‘jSon’, эта строка должна содержать что-то вроде ‘s.Path’, и это не объект json!

2. Скриншот; {«Код»:»Ошибка», «Сообщение»: «Хата! Ссылка на объект не установлена на экземпляр объекта.»,»Value»:null,»userId»:0} Помогите мне!

3. @Ekskalibbur все значения должны быть заключены в двойные кавычки, «null» и «0» — нет. Добавьте кавычки, и это может сработать.