我希望对使用 Lazarus\Freepascal JSON 解析有一点“简单”演示\解释。我在这里问了一个问题,但所有的回复都是“阅读这个”,没有一个真的能帮助我掌握,因为这些例子有点太深入了,我正在寻找一个非常简单的例子来帮助我理解如何有用。
简而言之,我的程序以 4096 字节的块读取一个无类型的二进制文件。然后将原始数据转换为 ASCII 并存储在字符串中。然后,它通过变量寻找某些模式,结果证明,这些模式是 JSON 数据结构。我目前已经使用 Pos 和 ExtractANSIString 等对解析进行了艰难的编码。但我已经了解到 Lazarus 和 FPC 有 JSON 库,即 fcl-json、fpjson、jsonparser、jsonscanner 等。
https://bitbucket.org/reiniero/fpctwit/src http://fossies.org/unix/misc/fpcbuild-2.6.0.tar.gz:a/fpcbuild-2.6.0/fpcsrc/packages/fcl-json /src/ http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/packages/fcl-json/examples/
但是,我仍然无法弄清楚如何读取字符串变量并将其解析为 JSON 数据,然后访问这些 JSON 结构。
谁能给我一个非常简单的例子来帮助我前进?
到目前为止,我的代码(没有 JSON)是这样的:
try
SourceFile.Position := 0;
while TotalBytesRead < SourceFile.Size do
begin
BytesRead := SourceFile.Read(Buffer,sizeof(Buffer));
inc(TotalBytesRead, BytesRead);
StringContent := StripNonAsciiExceptCRLF(Buffer); // A custom function to strip out binary garbage leaving just ASCII readable text
if Pos('MySearchValue', StringContent) > 0 then
begin
// Do the parsing. This is where I need to do the JSON stuff
...