2

正如标题所示,我正在尝试使用 Delphi 7 和 SuperObject 库从一个非常简单的结构化 JSON 文件中提取一个值,但我还没有找到任何涵盖这个最基本主题的示例,并且希望这里的一些大师可能是能够为我提供一些帮助。

我拥有的是一个简单的 JSON 文件(名为 test.json),它具有以下结构,我想知道的是如何在 delphi 中加载这个文件,然后从提供的信息中提取“姓氏”的值。

我确信这是一项非常简单的任务,但正如我之前所说,我无法找到任何有关如何执行此操作的示例,并希望得到一些帮助。

示例 JSON 文件

{
  id: 212,
  first_name: "bob",
  last_name: "smith",
  age: 25
} 
4

2 回答 2

2

首先,声明对象的一个​​实例,在这种情况下作为ISuperObject接口。然后,使用TSuperObject.ParseString甚至只是SO解析您的 JSON 字符串来分配它。然后,您可以使用单字母属性读取值,具体取决于您正在读取的值的类型......

var
  O: ISuperObject;
  ID, Age: Integer;
  FirstName, LastName: String;
begin
  O:= SO(MyJsonString);
  ID:= O.I['id'];
  FirstName:= O.S['first_name'];
  LastName:= O.S['last_name'];
  Age:= O.I['age'];
end;

但请记住,在 Stack Overflow,事情通常不会以这种方式工作。我回答的唯一原因是因为它又快又容易,而且你似乎是新来的。有很多关于如何使用 SuperObject 的资源;在您随库下载的演示中,遍布 Google 以及 Stack Overflow 的此处。

于 2014-07-03T23:44:09.110 回答
0

接下来是我的例子

function GetLastName(const FileName: string): string;
var
  O: ISuperObject;
begin
  // transport json file to superobject;
  O:= TSuperObject.ParseFile(FileName, False);
  // get value of object memeber 
  result:= O['last_name'].AsString;
end;
于 2015-02-12T06:07:12.770 回答