procedure
TForm1
.
Button1Click(Sender: TObject);
var
jo, jo2, jo3: TJSONObject;
ja, ja3: TJSONArray;
jv: TJSONValue;
jp: TJSONPair;
i, j, k, x:
integer
;
begin
Memo2
.
Clear;
jo := TJSONObject
.
ParseJSONValue(Memo1
.
Text)
as
TJSONObject;
jo
.
Get(
'success'
).JsonString
.
Value;
// success
jo
.
Get(
'success'
).JsonValue
.
Value;
// true
jo
.
Get(
'message'
).JsonString
.
Value;
// message
jo
.
Get(
'message'
).JsonValue
.
Value;
// null
jo
.
Get(
'code'
).JsonString
.
Value;
// code
jo
.
Get(
'code'
).JsonValue
.
Value;
// 0
ja := jo
.
Get(
'list'
).JsonValue
as
TJSONArray;
for
i :=
0
to
ja
.
Count -
1
do
begin
jo2 := ja
.
Get(i)
as
TJSONObject;
for
j :=
0
to
jo2
.
Size -
1
do
begin
if
(jo2
.
Get(j).JsonString
.
Value =
'odList'
)
then
begin
ja3 := jo2
.
Get(j).JsonValue
as
TJSONArray;
for
k :=
0
to
ja3
.
Size -
1
do
begin
jo3 := ja3
.
Get(k)
as
TJSONObject;
for
x :=
0
to
jo3
.
Size -
1
do
begin
Memo2
.
Lines
.
Add(jo3
.
Get(x).JsonString
.
Value);
Memo2
.
Lines
.
Add(jo3
.
Get(x).JsonValue
.
Value);
end
;
end
;
end
else
begin
Memo2
.
Lines
.
Add(jo2
.
Get(j).JsonString
.
Value);
Memo2
.
Lines
.
Add(jo2
.
Get(j).JsonValue
.
Value);
end
;
end
;
end
;
end
;