我想使用下面的代码生成json输出。
但是我无法生成json输出
下面是我的代码,但没有工作
=============================================== ====================
"L"
"LL"
<nil>,<nil>
,"t"
"LR"
<nil>,<nil>
,"R"
<nil>,<nil>
=============================================== ====================
输入文件在
之下$row2 = mysqli_fetch_assoc(mysqli_query($conn,"SELECT * FROM login WHERE username='{$row['user']}'"));
=============================================== ====================
OUTPUT想要如下所示
import yagmail
yag = yagmail.SMTP(username, password)
yag.send("toaddr@gmail.com", "this subject", "text content")
答案 0 :(得分:2)
首先。你的程序几乎可以工作你只需要在正则表达式上使用g修饰符:
stackApply
将($poolname, $devconfig, $unablegbs, $freegbs, $usedgbs, $full, $comp) = m/ (\S+)/g;
之后的,
移除为有效的JSON。
您的计划可以做一些改进。我建议
答案 1 :(得分:0)
我对这个问题有两个答案:
JSON
模块汇编JSON。它不那么痛苦。-output XML
,您将获得机器可读输出。 XML
不是JSON
,但它实际上更容易从一个转换为另一个而不是手动解析。 尽管如此回答你提出的问题:
#!/usr/bin/env perl
use strict;
use warnings;
use JSON;
my @header = qw ( name flags raid usable_gb free_gb used_gb full_perc comp_perc );
my $stuff;
while ( <DATA> ) {
my %this_row;
if ( m/RAID/ ) {
my @fields = split;
@this_row{@header} = @fields;
push ( @$stuff, \%this_row );
}
}
print to_json ( $stuff, { pretty => 1 } );
__DATA__
Symmetrix ID: 000000000000
S Y M M E T R I X P O O L S
---------------------------------------------------------------------------
Pool Flags Dev Usable Free Used Full Comp
Name PTECSL Config GBs GBs GBs (%) (%)
------------ ------ ------------ ---------- ---------- ---------- ---- ----
SAS600_R1 TFFDEI RAID-5(3+1) 78725.1 160.3 64.8 94 0
SAS600_R2 TFFDEI RAID-4(3+1) 725.1 120.3 666.8 83 0
SAS600_R3 TFFDEI RAID-3(3+1) 7825.1 1260.3 6564.8 34 0
SAS600_R4 TFFDEI RAID-2(3+1) 7875.1 160.3 664.8 4 0
SAS600_R5 TFFDEI RAID-1(3+1) 872.1 1210.3 6564.8 1 0
Total ---------- ---------- ---------- ---- --- -
GBs 78725.1 12160.3 66564.8 84 0
Legend:
(P)ool Type:
S = Snap, R = Rdfa DSE T = Thin
(T)echnology:
S = SATA, F = Fibre Channel, E = Enterprise Flash Drive, M = Mixed, - = N/A
Dev (E)mulation:
F = FBA, A = AS400, 8 = CKD3380, 9 = CKD3390, - = N/A
(C)ompression:
E = Enabled, D = Disabled, N = Enabling, S = Disabling, - = N/A
(S)tate:
E = Enabled, D = Disabled, B = Balancing
Disk (L)ocation:
I = Internal, X = External, M = Mixed, - = N/A`
[
{
"full_perc" : "94",
"flags" : "TFFDEI",
"comp_perc" : "0",
"name" : "SAS600_R1",
"used_gb" : "64.8",
"free_gb" : "160.3",
"usable_gb" : "78725.1",
"raid" : "RAID-5(3+1)"
},
{
"flags" : "TFFDEI",
"comp_perc" : "0",
"name" : "SAS600_R2",
"full_perc" : "83",
"usable_gb" : "725.1",
"raid" : "RAID-4(3+1)",
"used_gb" : "666.8",
"free_gb" : "120.3"
},
{
"usable_gb" : "7825.1",
"raid" : "RAID-3(3+1)",
"free_gb" : "1260.3",
"used_gb" : "6564.8",
"name" : "SAS600_R3",
"flags" : "TFFDEI",
"comp_perc" : "0",
"full_perc" : "34"
},
{
"free_gb" : "160.3",
"used_gb" : "664.8",
"raid" : "RAID-2(3+1)",
"usable_gb" : "7875.1",
"full_perc" : "4",
"name" : "SAS600_R4",
"comp_perc" : "0",
"flags" : "TFFDEI"
},
{
"usable_gb" : "872.1",
"raid" : "RAID-1(3+1)",
"used_gb" : "6564.8",
"free_gb" : "1210.3",
"flags" : "TFFDEI",
"comp_perc" : "0",
"name" : "SAS600_R5",
"full_perc" : "1"
}
]