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
– epx