Jsonconvert decimal values with error

Asked

Viewed 17 times

0

I am consuming a Json api with C# Xamarin so far so good, but I have a problem in the deserialization of a Json with decimal values, the return of the api is correct (Json highlighted below the values return with .) Ex.: "Pesobruto"3.67 but the value assigned to the class after conversion is comma (3.67). I need the information in the conversion to be kept with (.) instead of (,).

I am using the code below to convert the return API.

        string jsonString = JsonConvert.SerializeObject(PutListaProduto);                                       
        StringContent httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");           

        HttpResponseMessage ConteudoAutentica = await client.PutAsync(UrlAPI + $"/NavegacaoProduto/{Grupo}", httpContent);
        string responseContent = await ConteudoAutentica.Content.ReadAsStringAsync();
        RootNavegacaoProdutos postNavegaProduto = JsonConvert.DeserializeObject<RootNavegacaoProdutos>(responseContent);

Json

 {
"Status": [
    {
        "Cod": 999,
        "Descricao": "OK"
    }
],
"Produtos": [
    {
        "Cod": 6,
        "NCM": "07122000",
        "Codigo Estoque": 27,
        "Reservado": "",
        "Reservado1": "",
        "Produto": "MACA RED ",
        "UN": "KG",
        "Saldo": "337",
        "Lote": 108,
        **"PesoBruto": 3.60,**
        "PesoLiquido": 3.50,
        "ValorTrava": 0.00000000,
        "UnConv": "KG",
        "FatorConv": 0.00000,
        "EmbalagemID": 0,
        "EmbalagemNome": "EMBALAGEM LUXO II",
        "EmbalagemValor": 24.16
    },
    {
        "Cod": 6,
        "NCM": "07122000",
        "Codigo Estoque": 28,
        "Reservado": "",
        "Reservado1": "",
        "Produto": "MACA RED ",
        "UN": "KG",
        "Saldo": "-22",
        "Lote": 108,
        "PesoBruto": 3.60,
        "PesoLiquido": 3.50,
        "ValorTrava": 0.00000000,
        "UnConv": "KG",
        "FatorConv": 10.00000,
        "EmbalagemID": 7,
        "EmbalagemNome": "EMBALAGEM LUXO II",
        "EmbalagemValor": 24.16
    }
]

}

The structure of the class

public class Status
{
    public int Cod { get; set; }
    public string Descricao { get; set; }
}

public class Produto
{
    public int Cod { get; set; }
    public string NCM { get; set; }

    [JsonProperty("Codigo Estoque")]
    public int CodigoEstoque { get; set; }
    public string Reservado { get; set; }
    public string Reservado1 { get; set; }
    [JsonProperty("Produto")]
    public string ProdutoDescricao { get; set; }
    public string UN { get; set; }
    public string Saldo { get; set; }
    public int Lote { get; set; }
    public double PesoBruto { get; set; }
    public double PesoLiquido { get; set; }
    public double ValorTrava { get; set; }
    public string UnConv { get; set; }
    public double FatorConv { get; set; }
    public int EmbalagemID { get; set; }
    public string EmbalagemNome { get; set; }
    public double EmbalagemValor { get; set; }
}

public class RootNavegacaoProdutos
{
    public List<Status> Status { get; set; }
    public List<Produto> Produtos { get; set; }
}

After serialization, the data appears in this format:

Cod: 6
CodigoEstoque: 27
EmbalagemID: 0
EmbalagemNome: "EMBALAGEM LUXO II"
EmbalagemValor: 24,16
FatorConv: 0
Lote: 108
NCM: "07122000"
**PesoBruto: 3,6**
PesoLiquido: 3,5
ProdutoDescricao: "MACA RED "
Reservado: ""
Reservado1: ""
Saldo: "337"
UN: "KG"
UnConv: "KG"
ValorTrava: 0

Gross Weight Json: "Weight": 3.60, Gross Weight Class: Weight: 3.6.

  • Please clarify your problem or provide additional details in order to highlight exactly what you need. The way it’s written these days it’s hard to tell exactly what you’re asking.

  • 3.67 does not appear in the provided JSON example, I could not understand what the problem is

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.