C # Ошибка чтения JObject из JsonReader.Путь '', строка 0, позиция 0 - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь проанализировать мой JSON с кодом ниже.Я получаю сообщение об ошибке:

Ошибка чтения JObject из JsonReader.Путь '', строка 0, позиция 0.

Я подумал, что это может быть из-за того, что мой JSON был искажен, поэтому я вывел его, и, похоже, все в порядке:

{ 
    "serviceDeskId": "4", 
    "requestTypeId": "223", 
    "requestFieldValues": { 
        "summary": "test" 
    } 
} 

Но теперь я полностью застрял.Кто-нибудь может увидеть, где я иду не так?Это сводит меня с ума!!

На этой строке выдается ошибка:

var jsonresponse = JObject.Parse(response);

Полный фрагмент кода:

req.ContentType = "application/json";

                var json = JObject.Parse(
                        "{\"serviceDeskId\": \"4\",\"requestTypeId\": \"223\",\"requestFieldValues\": {\"summary\": \"" +
                        summary.Value + "\"}}");

                jsonCheck = json.ToString();

                using (var streamWriter = new StreamWriter(req.GetRequestStream()))
                    {

                        streamWriter.Write(json);
                    }

                    HttpWebResponse resp = req.GetResponse() as HttpWebResponse;


                    // Obtain a 'Stream' object associated with the response object.
                    Stream ReceiveStream = resp.GetResponseStream();

                    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");

                    String response = "";

                    // Pipe the stream to a higher level stream reader with the required encoding format. 
                    StreamReader readStream = new StreamReader(ReceiveStream, encode);

                    response = readStream.ReadToEnd();

                    // Release the resources of stream object.
                    readStream.Close();

                    // Release the resources of response object.
                    resp.Close();

                    var jsonresponse = JObject.Parse(response);

Любая помощь приветствуется!

1 Ответ

0 голосов
/ 02 июля 2019

Ах, я думаю, у меня была эта проблема раньше. Я обнаружил, что Visual Studio сохраняет файлы JSON другим способом. Вы можете проверить это следующим образом:

  1. В Visual Studio перейдите в Файл -> Открыть и укажите в свой файл json
  2. Затем нажмите маленькую стрелку рядом с кнопкой «Открыть» и выберите «Открыть с помощью ..»
  3. Когда откроется диалоговое окно «Открыть с помощью», выберите «Двоичный редактор» и нажмите «ОК»

[ПРИМЕЧАНИЕ. Предыдущие шаги можно было выполнить с помощью другого редактора Hex.]

После того, как файл открыт в его формате HEX, посмотрите, начинается ли он с ...{.. или заканчивается ..}.. и удалите начальные точки ".." и конечные точки ".." и сохраните файл и попробуйте еще раз.

Это происходит, если вы создаете файл json внутри Visual Studio.

В качестве альтернативы вы можете создать новый файл с другой программой (например, Notepad ++) и использовать этот файл.

Надеюсь, это поможет.

...