这是我希望能够解析的示例 JSON:
[
{
"a":{
"username":"aaa",
"email":"aaa@gmail.com"
}
},
{
"b":{
"username":"bbb",
"email":"bbb@gmail.com"
}
}
]
Run Code Online (Sandbox Code Playgroud)
我需要调用getData('b', 'email')must 输出bbb@gmail.com!
我真的很难理解如何使用该System.JSON单元,但我无法得到解决方案!我希望能够编写一个从上述 JSON 结构中提取特定数据的函数。到目前为止,这是我的代码。在类构造函数中,我有:
var
FIds: TJSONArray;
begin
FIds := TJSONObject.ParseJSONValue({json string here}) as TJSONArray;
end;
Run Code Online (Sandbox Code Playgroud)
然后,在必须返回数据的函数中,我写了这个:
// 'name' can be 'a' or 'b' | 'data' can be 'username' or 'email'
function TTest.getData(const name, data: string): string;
var
FValue, FValueInner: TJSONValue;
begin
for FValue in Fids do
begin
if (FValue is TJSONArray) then
begin
//Here I …Run Code Online (Sandbox Code Playgroud)