Boa tarde!
Estou com uma dúvida ao popular mais de um nó usando a classe JsonObject. Segue exemplo:
{
"Type": "Digital",
"name": "Pedido",
"description": "teste description",
"price": "1000000",
"weight": 2000000,
"ExpirationDate": "2037-06-19",
"maxNumberOfInstallments": "1",
"quantity": 2,
"Sku": "teste",
"shipping": {
"type": "WithoutShipping",
"name": "teste",
"price": "1000000000"
},
"SoftDescriptor": "Pedido1234"
}
Preciso popular o nó shipping, tentei fazer da seguinte maneira mas não obtive sucesso:
jJsPed['Type'] := 'Digital'
jJsPed['name'] := 'Pedido API'
jJsPed['description'] := 'Descrição Teste'
jJsPed['price'] := 100
jJsPed['ExpirationDate'] := '2020-06-10'
jJsPed['maxNumberOfInstallments'] := '1'
jJsPed['quantity'] := '1'
jJsPed['Sku'] := 'Teste'
jJsPed['SoftDescriptor'] := 'PagElsons'
jJsFrete['type'] := 'FixedAmount'
jJsFrete['name'] := 'Transportadora'
jJsFrete['price'] := '5'
jJsPed['shipping'] := jJsFrete:ToJson()
Obtive o seguinte resultado:
{
"Type":"Digital",
"ExpirationDate":"2020-06-10",
"Sku":"Teste",
"SoftDescriptor":"PagElsons",
"maxNumberOfInstallments":"1",
"name":"Pedido API",
"price":100,
"shipping":
"{
\"type\":\"FixedAmount\",
\"name\":\"Transportadora\",
\"price\":\"5\"
}",
"quantity":"1",
"description":"Descrição Teste"
}
Além de ter colocado aspas antes e depois das chaves do nó shipping, também foram incluídas barras e não entendi o motivo.
Alguém poderia me auxiliar? Sou leigo em Json.
Obrigado desde já.
Boa tarde! veja se esse link te ajuda https://siga0984.wordpress.com/2019/11/02/json-o-que-e-e-como-usar-em-advpl-parte-02/
— Sergio Martinez Martinez 10 de Jun de 2020As barras ele adicionou para entender a aspas duplas como um caracter e não como uma atribuição de string e da forma que está aí é como se tudo qe shipping recebe seja uma string, faz o seguinte, se jJsFrete já for um jsonobject, não chame o metodo tojson -> faça assim jJsPed['shipping'] := jJsFrete
— Douglas Bichir 10 de Jun de 2020Boa noite, Douglas. Era exatamente isso, obrigado pela ajuda. Crie uma resposta a esse tópico pra eu poder marcar como solução.
— Giordano Trabach Xavier 10 de Jun de 2020