como crear json para enviar post

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Paredes01
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 20 Mai 2012 11:22
Localização: Mérida, Yucatán, México

como crear json para enviar post

Mensagem por Paredes01 »

Buen día

Como puedo crear json de ejemplo para enviar en un post

ejemplo:
como crear este ejemplo en harbour

[
{
"Nombre": "Medicamento2",
"Precio": 121,
"Codigo": 123,
"Iva": 21,
"Prioridad": 1,
"FechaFin": "2024-05-05",
"FechaIni": "2024-05-04",
"Sales": "BLEOMICINA",
"CveProveedor": 22527,
"Tipo": 2,
"Retirado": 0,
"Disponible": 1,
"Descuento": 0,
"ExistSalud": 0,
"ExistFarmacia": 0,
"CveProdProv": 0,
"ClasifPsicotropico": 0,
"ClasifGI": 0,
"Laboratorio": 0,
"Clasificacion": 0,
"Presentacion": "pastillas",
"CuadroBasicoSubrogados": 1,
"TipoUnidad": 1,
"CantidadUnidad": 1,
"Estado": 1
},
{
"Nombre": "Medicamento1",
"Precio": 99.5,
"Codigo": 456,
"Iva": 16,
"Prioridad": 2,
"FechaFin": "2024-06-01",
"FechaIni": "2024-05-01",
"Sales": "PARACETAMOL",
"CveProveedor": 12345,
"Tipo": 1,
"Retirado": 0,
"Disponible": 1,
"Descuento": 5,
"ExistSalud": 10,
"ExistFarmacia": 20,
"CveProdProv": 1,
"ClasifPsicotropico": 0,
"ClasifGI": 1,
"Laboratorio": 2,
"Clasificacion": 1,
"Presentacion": "tabletas",
"CuadroBasicoSubrogados": 0,
"TipoUnidad": 2,
"CantidadUnidad": 10,
"Estado": 1
}
]

Saludos!!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

como crear json para enviar post

Mensagem por JoséQuintas »

Código: Selecionar todos

hVar[ 1 ][ "Nombre" ] "Medicamento2"
hVar[ 1 ][ "Precio" ] 121
hVar[ 1 ][ "Codigo" ] 123
hVar[ 1 ][ "Iva" ] 21
hVar[ 1 ][ "Prioridad" ] 1
hVar[ 1 ][ "FechaFin" ] "2024-05-05"
hVar[ 1 ][ "FechaIni" ] "2024-05-04"
hVar[ 1 ][ "Sales" ] "BLEOMICINA"
hVar[ 1 ][ "CveProveedor" ] 22527
hVar[ 1 ][ "Tipo" ] 2
hVar[ 1 ][ "Retirado" ] 0
hVar[ 1 ][ "Disponible" ] 1
hVar[ 1 ][ "Descuento" ] 0
hVar[ 1 ][ "ExistSalud" ] 0
hVar[ 1 ][ "ExistFarmacia" ] 0
hVar[ 1 ][ "CveProdProv" ] 0
hVar[ 1 ][ "ClasifPsicotropico" ] 0
hVar[ 1 ][ "ClasifGI" ] 0
hVar[ 1 ][ "Laboratorio" ] 0
hVar[ 1 ][ "Clasificacion" ] 0
hVar[ 1 ][ "Presentacion" ] "pastillas"
hVar[ 1 ][ "CuadroBasicoSubrogados" ] 1
hVar[ 1 ][ "TipoUnidad" ] 1
hVar[ 1 ][ "CantidadUnidad" ] 1
hVar[ 1 ][ "Estado" ] 1
hVar[ 2 ][ "Nombre" ] "Medicamento1"
hVar[ 2 ][ "Precio" ] 99.5
hVar[ 2 ][ "Codigo" ] 456
hVar[ 2 ][ "Iva" ] 16
hVar[ 2 ][ "Prioridad" ] 2
hVar[ 2 ][ "FechaFin" ] "2024-06-01"
hVar[ 2 ][ "FechaIni" ] "2024-05-01"
hVar[ 2 ][ "Sales" ] "PARACETAMOL"
hVar[ 2 ][ "CveProveedor" ] 12345
hVar[ 2 ][ "Tipo" ] 1
hVar[ 2 ][ "Retirado" ] 0
hVar[ 2 ][ "Disponible" ] 1
hVar[ 2 ][ "Descuento" ] 5
hVar[ 2 ][ "ExistSalud" ] 10
hVar[ 2 ][ "ExistFarmacia" ] 20
hVar[ 2 ][ "CveProdProv" ] 1
hVar[ 2 ][ "ClasifPsicotropico" ] 0
hVar[ 2 ][ "ClasifGI" ] 1
hVar[ 2 ][ "Laboratorio" ] 2
hVar[ 2 ][ "Clasificacion" ] 1
hVar[ 2 ][ "Presentacion" ] "tabletas"
hVar[ 2 ][ "CuadroBasicoSubrogados" ] 0
hVar[ 2 ][ "TipoUnidad" ] 2
hVar[ 2 ][ "CantidadUnidad" ] 10
hVar[ 2 ][ "Estado" ] 1
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Paredes01
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 20 Mai 2012 11:22
Localização: Mérida, Yucatán, México

como crear json para enviar post

Mensagem por Paredes01 »

Enterado, maestro quintas
Gracias
Paredes01
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 20 Mai 2012 11:22
Localização: Mérida, Yucatán, México

como crear json para enviar post

Mensagem por Paredes01 »

Buenas noches

Después de investigar esto funciona

Código: Selecionar todos


   Local aDetalle:= {}
   Local hArt:= {=>}

   hArt["Nombre"] = "ZYXEM 5MG 10 TABS"
   hArt["Precio"] = 278.94
   hArt["Codigo"] = 7501088509001
   hArt["Iva"] = 0
   hArt["Prioridad"] = 1
   hArt["FechaFin"] = "2025-06-01"
   hArt["FechaIni"] = "2025-06-30"
   hArt["Sales"] = "LEVOCETIRIZINA 5MG 10 TABS"
   hArt["CveProveedor"] = 22527
   hArt["Tipo"] = 1
   hArt["Retirado"] = 0
   hArt["Disponible"] = 1
   hArt["Descuento"] = 0
   hArt["ExistSalud"] = 0
   hArt["ExistFarmacia"] = 0
   hArt["CveProdProv"] = "003194"
   hArt["ClasifPsicotropico"] = 0
   hArt["ClasifGI"] = 0
   hArt["Laboratorio"] = "CHINOIN"
   hArt["Clasificacion"] = 0
   hArt["Presentacion"] = "5MG 10 TABS"
   hArt["CuadroBasicoSubrogados"] = 1
   hArt["TipoUnidad"] = 1
   hArt["CantidadUnidad"] = 10
   hArt["Estado"] = 1

   AAdd(aDetalle , hArt)

  enviar:= hb_jsonEncode(aDetalle)

 ** anexo resultado 
/*
[{"CantidadUnidad":10,"ClasifGI":0,"ClasifPsicotropico":0,"Clasificacion":0,"Codigo":7501088509001,"CuadroBasicoSubrogados":1,"CveProdProv":"003194","CveProveedor":22527,"Descuento":0,"Disponible":1,"Estado":1,"ExistFarmacia":0,"ExistSalud":0,"FechaFin":"2025-06-01","FechaIni":"2025-06-30","Iva":0,"Laboratorio":"CHINOIN","Nombre":"ZYXEM 5MG 10 TABS","Precio":278.94,"Presentacion":"5MG 10 TABS","Prioridad":1,"Retirado":0,"Sales":"LEVOCETIRIZINA 5MG 10 TABS","Tipo":1,"TipoUnidad":1}]
*/

Saludos y gracias
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

como crear json para enviar post

Mensagem por Vlademiro »

Olá a todos,

Como você mesmo postou, a função hb_jsonEncode faz isso. Só acrescento que existe um segundo parâmetro numérico opcional referente ao tamanho do recuo para identação. Use esse segundo parâmetro para gerar um JSON fácil de ser lido por humanos. É útil para depuração. Quando tiver tudo certo vc tira o segundo parâmetro para economizar espaço durante a transmissão.
cleitonlc2025
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 25 Out 2024 11:47
Localização: Cariacica/ES

como crear json para enviar post

Mensagem por cleitonlc2025 »

Paredes01 escreveu:Buen día

Como puedo crear json de ejemplo para enviar en un post

ejemplo:
como crear este ejemplo en harbour

[
{
"Nombre": "Medicamento2",
"Precio": 121,
"Codigo": 123,
"Iva": 21,
"Prioridad": 1,
"FechaFin": "2024-05-05",
"FechaIni": "2024-05-04",
"Sales": "BLEOMICINA",
"CveProveedor": 22527,
"Tipo": 2,
"Retirado": 0,
"Disponible": 1,
"Descuento": 0,
"ExistSalud": 0,
"ExistFarmacia": 0,
"CveProdProv": 0,
"ClasifPsicotropico": 0,
"ClasifGI": 0,
"Laboratorio": 0,
"Clasificacion": 0,
"Presentacion": "pastillas",
"CuadroBasicoSubrogados": 1,
"TipoUnidad": 1,
"CantidadUnidad": 1,
"Estado": 1
},
{
"Nombre": "Medicamento1",
"Precio": 99.5,
"Codigo": 456,
"Iva": 16,
"Prioridad": 2,
"FechaFin": "2024-06-01",
"FechaIni": "2024-05-01",
"Sales": "PARACETAMOL",
"CveProveedor": 12345,
"Tipo": 1,
"Retirado": 0,
"Disponible": 1,
"Descuento": 5,
"ExistSalud": 10,
"ExistFarmacia": 20,
"CveProdProv": 1,
"ClasifPsicotropico": 0,
"ClasifGI": 1,
"Laboratorio": 2,
"Clasificacion": 1,
"Presentacion": "tabletas",
"CuadroBasicoSubrogados": 0,
"TipoUnidad": 2,
"CantidadUnidad": 10,
"Estado": 1
}
]

Saludos!!

Já fiz algo assim para gerar um json estruturado para emissão do bolecode do banco itaú.

Código: Selecionar todos

FUNCTION MontaJson()
    Local cFilePath, cJson := { => }

    cJson["etapa_processo_boleto"] := "Simulacao"

    cJson["beneficiario"] := { => }
    oBeneficiario := cJson["beneficiario"]
    oBeneficiario["id_beneficiario"] := "123456789012"

    cJson["dado_boleto"] := { => }
    oBoleto := cJson["dado_boleto"]
    oBoleto["tipo_boleto"] := "a vista"
    oBoleto["descricao_instrumento_cobranca"] := "boleto_pix"
    oBoleto["texto_seu_numero"] := "000001"
    oBoleto["codigo_carteira"] := "109"
    oBoleto["valor_total_titulo"] := "00000000000030000"
    oBoleto["codigo_especie"] := "01"
    oBoleto["data_emissao"] := "2022-03-25"
    oBoleto["valor_abatimento"] := "00000000000000010"

    oBoleto["pagador"] := { => }
    oPagador := oBoleto["pagador"]
    oPagador["pessoa"] := { => }
    oPessoa := oPagador["pessoa"]
    oPessoa["nome_pessoa"] := "Cleiton Leonel Creton"
    oPessoa["nome_fantasia"] := "Cleiton Leonel Creton"

    oPessoa["tipo_pessoa"] := { => }
    oTipoPessoa := oPessoa["tipo_pessoa"]
    oTipoPessoa["codigo_tipo_pessoa"] := "F"
    oTipoPessoa["numero_cadastro_pessoa_fisica"] := "12345678909"

    oPagador["endereco"] := { => }
    oEndereco := oPagador["endereco"]
    oEndereco["nome_logradouro"] := "Av do Estado, 5533"
    oEndereco["nome_bairro"] := "Mooca"
    oEndereco["nome_cidade"] := "Sao Paulo"
    oEndereco["sigla_UF"] := "SP"
    oEndereco["numero_CEP"] := "04135010"

    oDadosIndividuaisBoleto := { => }
    oDadosIndividuaisBoleto["numero_nosso_numero"] = "12345678"
    oDadosIndividuaisBoleto["data_vencimento"] = "2023-12-20"
    oDadosIndividuaisBoleto["texto_uso_beneficiario"] = "000001"
    oDadosIndividuaisBoleto["valor_titulo"] = "00000000000010001"
    oDadosIndividuaisBoleto["data_limite_pagamento"] = "2023-12-25"
    oBoleto["dados_individuais_boleto"] := { oDadosIndividuaisBoleto }

    oBoleto["juros"] := { => }
    oJuros := oBoleto["juros"]
    oJuros["data_juros"] := "2023-12-25"
    oJuros["codigo_tipo_juros"] := "93"
    oJuros["valor_juros"] := "00000000000000010"

    oBoleto["multa"] := { => }
    oMulta := oBoleto["multa"]
    oMulta["codigo_tipo_multa"] := "02"
    oMulta["percentual_multa"] := "000000100001"
    oMulta["data_multa"] := "2023-12-25"

    oBoleto["desconto"] := { => }
    oDesconto := oBoleto["desconto"]
    oDesconto["codigo_tipo_desconto"] := "02"

    oDescontos := { => }
    oDescontos["data_desconto"] := "2023-12-20"
    oDescontos["valor_desconto"] := "00000000000010000"
    oDescontos["percentual_desconto"] := "000000001010"
    oDesconto["descontos"] := { oDescontos }

    oMensagens := { => }
    oMensagens["mensagem"] := "Mensagem 1"
    oBoleto["lista_mensagem_cobranca"] := { oMensagens }

    cJson["dados_qrcode"] := { => }
    cJson["dados_qrcode"]["chave"] := "12345678901234"

    cJsonString := hb_jsonEncode(cJson, 4)

    cFilePath := "./payload.json"
    Hb_MemoWrit( cFilePath, cJsonString )

    ? "Payload json salvo em:", cFilePath

RETURN cJson
O resultado é esse:

Código: Selecionar todos

{
    "etapa_processo_boleto": "simulacao",
    "beneficiario":
    {
        "id_beneficiario": "123456789012"
    },
    "dado_boleto":
    {
        "tipo_boleto": "a vista",
        "descricao_instrumento_cobranca": "boleto_pix",
        "texto_seu_numero": "000001",
        "codigo_carteira": "109",
        "valor_total_titulo": "00000000000030000",
        "codigo_especie": "01",
        "data_emissao": "2022-03-25",
        "valor_abatimento": "00000000000000010",
        "pagador":
        {
            "pessoa":
            {
                "nome_pessoa": "Cleiton Leonel Creton",
                "nome_fantasia": "Cleiton Leonel Creton",
                "tipo_pessoa":
                {
                    "codigo_tipo_pessoa": "F",
                    "numero_cadastro_pessoa_fisica": "12345678901"
                }
            },
            "endereco":
            {
                "nome_logradouro": "Av do Estado, 5533",
                "nome_bairro": "Mooca",
                "nome_cidade": "Sao Paulo",
                "sigla_UF": "SP",
                "numero_CEP": "04135010"
            }
        },
        "dados_individuais_boleto":
        [
            {
                "numero_nosso_numero": "12345678",
                "data_vencimento": "2023-12-20",
                "texto_uso_beneficiario": "000001",
                "valor_titulo": "00000000000010001",
                "data_limite_pagamento": "2023-12-25"
            }
        ],
        "juros":
        {
            "data_juros": "2023-12-25",
            "codigo_tipo_juros": "93",
            "valor_juros": "00000000000000010"
        },
        "multa":
        {
            "codigo_tipo_multa": "02",
            "percentual_multa": "000000100001",
            "data_multa": "2023-12-25"
        },
        "desconto":
        {
            "codigo_tipo_desconto": "02",
            "descontos":
            [
                {
                    "data_desconto": "2023-12-20",
                    "valor_desconto": "00000000000010000",
                    "percentual_desconto": "000000001010"
                }
            ]
        },
        "lista_mensagem_cobranca":
        [
            {
                "mensagem": "Mensagem 1"
            }
        ]
    },
    "dados_qrcode":
    {
        "chave": "12345678901234"
    }
}
Paredes01
Usuário Nível 2
Usuário Nível 2
Mensagens: 52
Registrado em: 20 Mai 2012 11:22
Localização: Mérida, Yucatán, México

como crear json para enviar post

Mensagem por Paredes01 »

Excelente, gracias
Responder