【发布时间】:2011-06-02 16:53:47
【问题描述】:
我今天正在玩 virustotal api,同时以这种形式返回结果:
{ "permalink" : "http://www.virustotal.com/file-scan/report.html?id=7b6b268cbca9d421aabba5f08533d3dcaba50e0f7887b07ef2bd66bf218b35ff-1304089592",
"report" : [ "2011-04-29 15:06:32",
{ "AVG" : "Exploit_c.TVH",
"AhnLab-V3" : "PDF/Exploit",
"AntiVir" : "EXP/Pidief.UK",
"Antiy-AVL" : "Trojan/win32.agent",
"Avast" : "JS:Pdfka-gen",
"Avast5" : "JS:Pdfka-gen",
"BitDefender" : "Exploit.PDF-JS.Gen",
"CAT-QuickHeal" : "",
"ClamAV" : "",
"Comodo" : "Exploit.JS.Pidief.~AWQ",
"DrWeb" : "",
"Emsisoft" : "Exploit.JS.Pdfka!IK",
"F-Prot" : "",
"F-Secure" : "Exploit:W32/Pidief.DEE",
"Fortinet" : "",
"GData" : "",
"Ikarus" : "Exploit.JS.Pdfka",
"Jiangmin" : "",
"K7AntiVirus" : "",
"Kaspersky" : "Exploit.JS.Pdfka.dnc",
"McAfee" : "",
"McAfee-GW-Edition" : "",
"Microsoft" : "Exploit:Win32/Pdfjsc.NJ",
"NOD32" : "PDF/Exploit.Pidief.PGD",
"Norman" : "",
"PCTools" : "Trojan.Pidief",
"Panda" : "",
"Prevx" : "",
"Rising" : "",
"SUPERAntiSpyware" : "",
"Sophos" : "Troj/PDFJs-RD",
"Symantec" : "Trojan.Pidief",
"TheHacker" : "",
"TrendMicro" : "TROJ_PIDIEF.VTG",
"TrendMicro-HouseCall" : "TROJ_PIDIEF.VTG",
"VBA32" : "",
"VIPRE" : "Exploit.PDF-JS.Gen (v)",
"ViRobot" : "PDF.S.Exploit.74634",
"VirusBuster" : "",
"eSafe" : "",
"eTrust-Vet" : ""
}
],
"result" : 1
}
我想知道如何解析这个结果来填写一份备忘录,例如:
Memo1.Lines.Add(Format('Antivirus: %0s Result: %1s', [...]));
好吧,我真的不知道所有可能存在的 JSon 组件,也许有人可以在这里指导我正确的方向?
最诚挚的问候,
H.迈泽
【问题讨论】:
-
你用的是哪个版本的delphi?
-
这不需要 JSON 或其他任何东西。这是非常简单的文本解析,可以通过调用
Pos来提取相关文本([]之间的部分),使用CommaText和StrictDelimiters的TStringList,以及非常简单的循环来分隔每行的两半(AV 名称和输出)。为什么要为这么简单的工作添加外部库的复杂性? -
好吧,例如,虽然我得到的结果(Json)将来可能会改变,所以它可能是可变的?至少学习如何用 json 解析它没有错?
标签: json delphi delphi-2010 antivirus