[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Gerar JSON via Shell Script
From: |
MrBiTs |
Subject: |
Re: [shell-script] Gerar JSON via Shell Script |
Date: |
Tue, 19 May 2015 10:32:01 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 19-05-2015 10:21, address@hidden [shell-script] wrote:
>
>
> Pessoal,
>
>
> Preciso gerar um resultado em formato JSON a partir de um select em uma base
> de dados Oracle.
>
>
> A parte de gerar o result set via Oracle eu toco ...
>
>
> sql = "SELECT tablespace_name FROM dba_tablespaces ORDER BY 1";
>
>
> SYSAUX
>
> SYSTEM
>
> TEMP1
>
> UNDOTBS1
>
> USERS
>
>
> A partir dos dados acima .. preciso gerar o seguinte formato ...
>
>
> {"data":
>
> {"{#TABLESPACE}": "SYSAUX"},
>
> {"{#TABLESPACE}": "SYSTEM"},
>
> {"{#TABLESPACE}": "TEMP1"},
>
> {"{#TABLESPACE}": "UNDOTBS1"},
>
> {"{#TABLESPACE}": "USERS"}]}
>
A consulta deve trazer a você algumas linhas de dados. Faz um for ou um while
nessa linhas, trabalhando o IFS delas e usando set -
$Linha para gerar um array variando de $1 a $N, N sendo a quantidade de campos
que você tem, e use here documents para montar o
json. Algo como:
cat <<__EOF__
{"data":
{"CAMPO1": $1,
"CAMPO2": $2,
...
"CAMPON": $N}
}"
__EOF__
Acho que é um caminho.
- --
echo \
92068024550315826382182475332597232583172815031242834207741253772942036490931873625388097114598312827695369663195686275740885871064\
49559092082392224085340303317471722482382935095394721645717388708188629714392464979911474364314309646036004586317583543814023523682\
20521740203494788796697543569807851284795072334480481413675418412856581412376640379241258356436205061541557366641602992820546646995\
466P \
| dc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBCAAGBQJVWztRAAoJEG7IGPwrPKWrLo8H/0vLQY5d6yT0nGP2PAntlPkB
DsUwVuZxHYYcyMSDh6FPRxoJcyfCiwgqoewiLhHtcXrxgYjOHTYOp5gyrEvR7Bfo
YhneKc7t70VNwKuS7M2XM4g5zgr7+1XYbd2+w0Qf3rfccquvv77jgnESeE4IpaGx
6D/DyUiLw00/OHvgZ+LY2BOI8BETL0KHWCPnlicqJZoWcYd2iDJ0txcJstzLa4X/
zjso5AtkldqvA2DmTfS37NivCYEFAlhwZl4CR6b+64t8u6Mm2oSUVR7M0QnTgkMY
hheLzc5GZWPh2kfCcuUHxDSwfwYdRfB9hK5ACDlYrzZJDwc5g/V3kWEeuAVPDO8=
=se++
-----END PGP SIGNATURE-----