Ошибка чтения Jobject из JsonReader.path, если объект пустой C # - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь вызвать API и получить ответ от него. Это нормально работает, когда у нас есть объект данных. Но я получаю выше исключение, если объект данных пуст. Пожалуйста, предложите решение для этих

Мой код:

public  static async Task<string> GetDimension(string serialNumber)
        {
            var client = new HttpClient();
            var queryString = HttpUtility.ParseQueryString(string.Empty);

            // Request headers
            client.DefaultRequestHeaders.Add("Authorization", "Basic Y2NAdGVzdC5jaGFuZWwtY29ycC5jb206cGFzc3dvcmQ=");
            client.DefaultRequestHeaders.Add("X-API-Key", "computer-vision");
            client.DefaultRequestHeaders.Add("lang", "en");
            client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "5d8c7294fed64d009cadcaea2fc2dff0");

           // string serialNumber = "18845681";

            string uri = string.Format("https://int-apim.lpl-cloud.com/int/fshcatalog/serial/products/v1/fsh/serial/{0}?" + queryString, serialNumber);



            var response = await client.GetAsync(uri);

            string EmpResponse = string.Empty;

            if (response.IsSuccessStatusCode)
            {
                EmpResponse = response.Content.ReadAsStringAsync().Result;
            }
            if (string.IsNullOrEmpty(EmpResponse) == true)
            {
                EmpResponse = "";
                // True.
             //   Console.WriteLine("Null or empty");
            }

            var details = JObject.Parse(EmpResponse);




            string photo = details["photo"].ToString();
            string libelleColorisCommercial = details["libelleColorisCommercial"].ToString();
            string codeArticle = details["codeArticle"].ToString();

            string codeColorCommercial = details["codeColorisCommercial"].ToString();


            string Param = codeArticle + codeColorCommercial;
            if (string.IsNullOrEmpty(photo) == true)
            {
                photo = "";
                // True.
                // Console.WriteLine("Null or empty");
            }
            if (string.IsNullOrEmpty(libelleColorisCommercial) == true)
            {
                libelleColorisCommercial = "";
                // True.
                // Console.WriteLine("Null or empty");
            }
            if (string.IsNullOrEmpty(codeArticle) == true)
            {
                codeArticle = "";
                // True.
                // Console.WriteLine("Null or empty");
            }

            string uri2 = string.Format("https://int-apim.lpl-cloud.com/int/fshcatalog/product/products/v1/fsh/products/{0}?" + queryString, Param);
            var response2 = await client.GetAsync(uri2);
            string dimension = string.Empty;
            if (response2.IsSuccessStatusCode)
            {
                dimension = response2.Content.ReadAsStringAsync().Result;
            }
            var dim = JObject.Parse(dimension);

            string dimensioncode = dim["dimensionsCode"].ToString();

            if (string.IsNullOrEmpty(dimensioncode) == true)
            {
                dimensioncode = "";
                // True.
               // Console.WriteLine("Null or empty");
            }
            else
            {

            }
            //Session["photo"] = photo;
            //Session["libelleColorisCommercial"] = libelleColorisCommercial;
            //Session["dimensioncode"] = dimensioncode;

            return dimensioncode;

        }

Эта строка кода var details = JObject.Parse(EmpResponse); выдает мне исключение из приведенного выше, если объект сведений пуст1007 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...