Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE
Highlighted
WPita_MMSIS Super Contributor.
Super Contributor.
223 views

System.Web.Script.Serialization

Jump to solution

Eu estou tentando deserializar o Json, abaixo

I'm trying to deserialize Json, below

{
"ctes": [
{
"cnpjTransportadora": "76080738013318",
"cnpjUnidade": "52202744000192",
"numero": 74512,
"cst": 0,
"notas": [
{
"valorNota": 3600,
"cnpjEmissorNota": "52202744000192",
"observacao": "Cobranca: Bancaria / Pedido: 1141173 / Vend: 184 / OC: 22313 - LOCAL DE ENTREGA: RUA SAO BENTO SN , BAIRRO BAU CUIABA MT CEP 78.008-120 FUNDOS DO HOSPITAL FEMINA. RECEBIMENTO DE SEG A SEX DAS 07:00 AS 11:30 E DAS 13:00 AS 17:00. / CONTRIBUINTE INSCRITO NO ESTADO DE MATO GROSSO PARA FINS EXCLUSIVOS DE RECOLHIMENTO DO ICMS, NOS TERMOS DAS ALINEAS C DOS INCISOS I E II DA CLAUSULA SEGUNDA DO CONVENIO ICMS 93/2015 - INSCRICAO ESTADUAL MATO GROSSO No 13.652.076-6 CADASTRO DESDE 07/10/2016;Valor aproximado Tributos Fed: R$ 606.24 - Est: R$ 648.00 - Mun: R$ 0.00 Fonte: IBPT;ICMS/Interestadual: VLR.ICMS INTER.UF/ORIG: 72.00 / VLR.ICMS INTER.UF/DEST: 288.00",
"itens": [
{
"valorFreteRealizado": 35.705,
"valorFreteCalculado": 35.705,
"codigo": "0168379",
"quantidade": 4
}
],
"chave": "35181152202744000192550010005622511522027440",
"valorFreteCalculadoNota": 142.82,
"cfop": 6108,
"tipoOperacaoXML": "SAIDA",
"tipoOperacao": "SAIDA",
"dataEmissao": "2018-11-08 16:22:00",
"valorProporcionalNota": 142.82,
"tipoDocumento": "NOTA_FISCAL",
"cnpjRemetente": "52202744000192",
"situacaoSefaz": 4,
"mensagemValidacao": "Não foi encontrado um certificado digital para a empresa NCH",
"cnpjDestinatario": "14920631000133",
"valorFreteRealizadoNota": 142.82,
"serie": "1",
"valorProporcionalICMS": 10,
"informacoesContribuinte": [
{
"Email_CC": "daiane.costa@femina.com.br"
}
],
"numeroNota": 562251
}
],
"linkRepositorio": "xml/cte/2019/01/578762/CTe EUCATUR Gar 471 No 074512 Serie 2.XML",
"oidPreConhecimento": 10777366334,
"nomeEmissor": "EUCATUR EMPRESA UNIAO CASCAVEL DE TRANSP E TUR LTD",
"dataEmissao": "2018-11-08 21:21:40",
"tipoConhecimento": 1,
"valorDocumento": 142.82,
"dataPrevisaoEntrega": "",
"mensagemValidacao": "Falha no schema XML",
"cnpjResponsavel": "52202744000192",
"centrosCustos": [],
"cnpjDestinatario": "14920631000133",
"modal": "ROD",
"codigoCEP": 74583285,
"pesoCubado": 21,
"valorAliquotaIcms": 7,
"cnpjEmissor": "76080738001654",
"chave": "35181176080738001654570020000745121018715939",
"volumes": 1,
"cfop": 6353,
"valorBaseIcms": 142.82,
"nomeDestinatario": "FEMINA PRESTADORA DE SERVICOS MEDICO HOSPITALAR LTDA",
"situacaoSefaz": 2,
"situacaoCTe": 0,
"valorIcms": 10,
"numeroProtocolo": "135181329148389",
"dataEntrega": "",
"serie": "2",
"quantidadeItens": 4,
"pesoBruto": 21,
"movimentos": [
{
"icms": false,
"codigo": "icms",
"observacao": "Alíquota utilizada de SP para MT: 7.0%, base: 132.82",
"valorCalculado": 10,
"valor": 0
},
{
"icms": true,
"codigo": "gris",
"observacao": "EUCATUR EMPRESA UNIAO CASCAVEL - 2018 [Percentual: 0.30% Valor fixo: 5.88]",
"valorCalculado": 10.8,
"valor": 0
},
{
"icms": true,
"codigo": "advalorem",
"observacao": "EUCATUR EMPRESA UNIAO CASCAVEL - 2018, De Ribeirão Preto para MT R1 [Percentual: 0.80%]",
"valorCalculado": 28.8,
"valor": 0
},
{
"icms": false,
"codigo": "total",
"valorCalculado": 142.82,
"valor": 0
},
{
"icms": true,
"codigo": "TAS",
"observacao": "EUCATUR EMPRESA UNIAO CASCAVEL - 2018 [Valor: 3.30]",
"valorCalculado": 3.3,
"valor": 0
},
{
"icms": true,
"codigo": "fretepeso",
"observacao": "EUCATUR EMPRESA UNIAO CASCAVEL - 2018, De Ribeirão Preto para MT R1 [Tipo: Kilo/Unidade, Mínimo: 84.2100]",
"valorCalculado": 84.21,
"valor": 0
},
{
"icms": true,
"codigo": "pedagio",
"observacao": "EUCATUR EMPRESA UNIAO CASCAVEL - 2018 [Tipo: Por Kg/Fração, Frações: 1, Mínimo: 5.71]",
"valorCalculado": 5.71,
"valor": 0
}
],
"cubagem": 0,
"tipoCTe": 0,
"ufDestino": "GO"
}
]
}

aqui chama a class para deserializar mas não esta funcionando acredito que fiz alguma coisa errada na class. Eu não sei como fazer definir quando existe uma matriz no Json.

here call the class to deserialize but it is not working I think I did something wrong in the class. I do not know how to do that when there is an array in Json.

set retServicosCte to JavaScriptSer::Deserialize[type classServicosCte](wRetJson)
move retServicosCte::cnpjTransportadora to lbnumeroDocumento::Text

class-id classServicosCte.
working-storage section.
01 cnpjTransportadora string property as "cnpjTransportadora".
01 cnpjUnidade string property as "cnpjUnidade".
01 numero string property as "numero".
01 cst string property as "cst".
01 valorNota string property as "valorNota".
01 cnpjEmissorNota string property as "cnpjEmissorNota".
01 observacao string property as "observacao".
01 valorFreteRealizado string property as "valorFreteRealizado".
01 valorFreteCalculado string property as "valorFreteCalculado".
01 codigo string property as "codigo".
01 quantidade string property as "quantidade".
01 chave string property as "chave".
01 valorFreteCalculadoNota string property as "valorFreteCalculadoNota".
01 cfop string property as "cfop".
01 tipoOperacaoXML string property as "tipoOperacaoXML".
01 tipoOperacao string property as "tipoOperacao".
01 dataEmissao string property as "dataEmissao".
01 valorProporcionalNota string property as "valorProporcionalNota".
01 tipoDocumento string property as "tipoDocumento".
01 cnpjRemetente string property as "cnpjRemetente".
01 situacaoSefaz string property as "situacaoSefaz".
01 cnpjDestinatario string property as "cnpjDestinatario".
01 valorFreteRealizadoNota string property as "valorFreteRealizadoNota".
01 serie string property as "serie".
01 numeroNota string property as "numeroNota".
01 linkRepositorio string property as "linkRepositorio".
01 oidPreConhecimento string property as "oidPreConhecimento".
01 nomeEmissor string property as "nomeEmissor".
01 dataEmissao string property as "dataEmissaox".
01 tipoConhecimento string property as "tipoConhecimento".
01 valorDocumento string property as "valorDocumento".
01 dataPrevisaoEntrega string property as "dataPrevisaoEntrega".
01 mensagemValidacao string property as "mensagemValidacao".
01 cnpjResponsavel string property as "cnpjResponsavel".
01 centrosCustos string property as "centrosCustos".
01 cnpjDestinatario string property as "cnpjDestinatariox".
01 modal string property as "modal".
01 codigoCEP string property as "codigoCEP".
01 pesoCubado string property as "pesoCubado".
01 cnpjEmissor string property as "cnpjEmissor".
01 chave string property as "chavex".
01 volumes string property as "volumes".
01 cfop string property as "cfopx".
01 nomeDestinatario string property as "nomeDestinatario".
01 situacaoSefaz string property as "situacaoSefazx".
01 situacaoCTe string property as "situacaoCTe".
01 valorIcms string property as "valorIcms".
01 numeroProtocolo string property as "numeroProtocolo".
01 dataEntrega string property as "dataEntrega".
01 serie string property as "seriex".
01 quantidadeItens string property as "quantidadeItens".
01 pesoBruto string property as "pesoBruto".
01 movimentos string property as "movimentos".
01 cubagem string property as "cubagem".
01 tipoCTe string property as "tipoCTe".
01 ufDestino string property as "ufDestino".
end class.

 

Já testei o Json e ele é válido então acredito que estou fazendo algo errado na Class deserialização 

I have already tested Json and it is valid so I believe I am doing something wrong in the deserialization class

Thank you for your help!

0 Likes
1 Solution

Accepted Solutions
WPita_MMSIS Super Contributor.
Super Contributor.

RE: System.Web.Script.Serialization

Jump to solution
Fiz a conversão do Json para C# e depois consegui deserializar para Cobol, cada varíavel é colocada no seu par correspondente.

*public class RootObject
*{
* public List<int> ctes { get; set; }
*}

class-id classRootObject.
01 ctes list[type classCte] property as "ctes".
end class.

*public class Cte
*{
* public string cnpjTransportadora { get; set; }
* public string cnpjUnidade { get; set; }
* public int numero { get; set; }
* public int cst { get; set; }

class-id classCte.
working-storage section.
01 cnpjTransportadora string property as "cnpjTransportadora".
01 cnpjUnidade string property as "cnpjUnidade".
end class
0 Likes
1 Reply
WPita_MMSIS Super Contributor.
Super Contributor.

RE: System.Web.Script.Serialization

Jump to solution
Fiz a conversão do Json para C# e depois consegui deserializar para Cobol, cada varíavel é colocada no seu par correspondente.

*public class RootObject
*{
* public List<int> ctes { get; set; }
*}

class-id classRootObject.
01 ctes list[type classCte] property as "ctes".
end class.

*public class Cte
*{
* public string cnpjTransportadora { get; set; }
* public string cnpjUnidade { get; set; }
* public int numero { get; set; }
* public int cst { get; set; }

class-id classCte.
working-storage section.
01 cnpjTransportadora string property as "cnpjTransportadora".
01 cnpjUnidade string property as "cnpjUnidade".
end class
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.