Json Deserializer en C # devuelve valores incorrectos de la respuesta de solicitud de Json

MoneyKiddMo

Estoy intentando devolver la respuesta Json deserializada de la siguiente https://www.supremenewyork.com/mobile_stock.json

A continuación se muestra mi código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Text;
using System.Drawing;
using System.IO;
using System.Net.Http;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using RestSharp;
using System.Threading.Tasks;
using System.Globalization;

namespace SupremeMobileMonitor
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var program = new Program();
            await program.GetItem();

        }
        // Declaring variables in the list
        static List<ItemDetail> ProductList = new List<ItemDetail>();
        List<string> productDesc = new List<string> { "new_item", "price", "category", "imageurl", "itemURL" };
        List<string> category = new List<string> { "jackets", "shirts", "tops_sweaters", "pants", "hats", "accessories", "shoes", "skate" };

        //creating a class for intializing Json Deserializer 

        public class MobileStockResponse
    {
        [JsonProperty("unique_image_url_prefixes")]
        public List<object> UniqueImageUrlPrefixes { get; set; }

        [JsonProperty("products_and_categories")]
        public Dictionary<string, List<ProductsAndCategory>> ProductsAndCategories { get; set; }

        [JsonProperty("release_date")]
        public string ReleaseDate { get; set; }

        [JsonProperty("release_week")]
        public string ReleaseWeek { get; set; }
    }
        public partial class ProductsAndCategory
        {
            [JsonProperty("name")]
            public string Name { get; set; }
            [JsonProperty("id")]
            public long Id { get; set; }
            [JsonProperty("image_url")]
            public string ImageUrl { get; set; }
            [JsonProperty("image_url_hi")]
            public string ImageUrlHi { get; set; }
            [JsonProperty("price")]
            public long Price { get; set; }
            [JsonProperty("sale_price")]
            public long SalePrice { get; set; }
            [JsonProperty("new_item")]
            public bool NewItem { get; set; }
            [JsonProperty("position")]
            public long Position { get; set; }
            [JsonProperty("category_name")]
            public string CategoryName { get; set; }


        }


        //Initializing HttpClient for Requests and po
        public async Task GetItem()
        {
            var client = new HttpClient();
            var request = new HttpRequestMessage
            {
                RequestUri = new Uri("https://www.supremenewyork.com/mobile_stock.json"),
                Method = HttpMethod.Get
            };
            var response = await client.SendAsync(request);
            var responseContent = await response.Content.ReadAsStringAsync();
            var responseObject = JsonConvert.DeserializeObject<ProductsAndCategory>(responseContent);

            Console.WriteLine(responseObject);




        }



    }
}

Cuando intento devolver un valor (ejemplo: responseObject.id), solo devolverá '0'

Cuando intento devolver la respuesta completa, devuelve "SupremeMobileMonitor.Program + ProductsAndCategory"

¿Alguna idea de por qué no puedo recuperarlo y qué estoy arruinando mi deserialización? Desafortunadamente, la categoría conocida como "nueva" en el punto final interfiere con las palabras clave de C #, por lo que elimina mi opción de usar la deserialización dinámica.

Jawad

jslowik tiene la respuesta correcta para su pregunta, cómo deserializarla.

Para imprimir el objeto, puede crear un ToString()método de anulación e imprimir solo las cosas que le interesan, o puede imprimir el objeto serializándolo en una cadena.

Console.WriteLine(JsonConvert.SerializeObject(productsAndCategories, Formatting.Indented);

Esto le dará una representación json nuevamente del objeto y le mostrará todos los valores.

SideNote: Si desea obtener artículos específicos de, digamos, bolsos, puede usar Linq para obtenerlos ...

Console.WriteLine(JsonConvert.SerializeObject(responseObject.ProductsAndCategories["Bags"].Select(x => x.Id)));

// Output:
[173389,172978,173019,172974,173018,173001]

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Solicitud JSON de respuesta

XMl Request devuelve una respuesta de solicitud incorrecta donde funciona la solicitud json

Objetivo C: la solicitud SOAP devuelve WSDL como respuesta en lugar de la respuesta adecuada

¿Cómo obtener la respuesta json de la solicitud de API interna en laravel?

respuesta de solicitud http no en formato json

La API de Google devuelve valores incorrectos

La solicitud de publicación HTTP devuelve código HTML en lugar de datos JSON

La respuesta de musixmatch api devuelve 200 pero devuelve json con valores None

WireMock: cómo configurar un JSON para mostrar encabezados de solicitud en la respuesta

Extraer valor de la respuesta Json de la solicitud POST en Jmeter usando Json Extractor

Api devuelve la cadena de imagen base64 como respuesta directa, no como respuesta json, cómo manejar en androidStudio

Valores de expresiones regulares en la respuesta JSON

Valores de expresiones regulares en la respuesta JSON

Cómo afirmar valores en una respuesta Json de la lista de diccionarios

¿Cómo establecer los valores del cuerpo de respuesta usando datos de la solicitud usando plantillas de respuesta en Wiremock?

¿Cómo obtener un valor de clave json específico de la respuesta a la solicitud posterior en Android?

¿Cómo mostrar los datos de respuesta json en la tabla de datos usando la solicitud jQuery ajax?

¿Cómo mostrar los datos de respuesta json en la tabla de datos usando la solicitud jQuery ajax?

Espere los datos de respuesta JSON de la solicitud POST en nodejs (prueba de mocha)

Lista de valores en PHP respuesta JSON

Lista de valores en PHP respuesta JSON

Cómo obtener ciertos valores JSON de la respuesta curl

C #: obtenga valores de la respuesta JSON y asígnelos a variables

Cómo obtener valores de la respuesta JSON

Respuesta de Ajax JSON indefinida en el campo de solicitud

Analizar json de la respuesta de solicitud web

¿Recibe respuesta JSON de la solicitud POST de AJAX?

¿Cómo usar la fuente img de los valores en la respuesta json?

La entidad de respuesta de Spring Boot no devuelve JSON

TOP Lista

CalienteEtiquetas

Archivo