测试数据如下:
Memo1.text中的数据:
{ "date":"周二(今天, 实时:12℃)", "dayPictureUrl":"http://api.map.baidu.com/images/weather/day/duoyun.png", "nightPictureUrl":"http://api.map.baidu.com/images/weather/night/duoyun.png", "weather":"多云", "wind":"北风微风", "temperature":"15 ~ 6℃" }
Memo2.text中的数据:
{ "success":"true", "appId":"9", "data":[
{ "itemId":"536273259873","title":"\u52A0\u7ED2\u52A0\u539A\u54FA\u4E73\u5916\u51FA\u536B\u8863" }, { "itemId":"539867455759","title":"\u5C0F\u7EA2\u978B\u60C5\u4FA3\u8FD0\u52A8\u4F11\u95F2\u978B\u68C9\u978B" }
] }
..............
uses DBXJSON, DBXJSONCommon, DBXJSONReflect;
...............
procedure TForm1.Button1Click(Sender: TObject); var JO: TJSONObject; StrJson: String; LJPair: TJSONPair; begin StrJson := Memo1.Text; JO := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(StrJson), 0) as TJSONObject;
ShowMessage(JO.Get('date').JsonValue.Value); ShowMessage(JO.Get(3).JsonValue.Value);
for LJPair in JO do begin //遍历 {..} 中的数据 ShowMessage(LJPair.JsonValue.Value); end;
end;
procedure TForm1.Button2Click(Sender: TObject); var JO,Jo2: TJSONObject; StrJson: String; LJPair: TJSONPair; elementCount: Integer; i: Integer; JA: TJSONArray; begin elementCount:=0; StrJson := Memo2.Text; JO := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(StrJson), 0) as TJSONObject;
ShowMessage((JO.Get('success').JsonValue as TJSONTrue).ToString); ShowMessage(JO.Get(1).JsonValue.Value);
for LJPair in JO do begin //遍历 {..} 中的数据 // ShowMessage(LJPair.JsonValue.Value); if LJPair.JsonValue is TJSONArray then begin JA:=LJPair.JsonValue as TJSONArray; elementCount:= JA.Size; showmessage(inttostr(elementCount)); for i := 0 to elementCount-1 do begin Jo2:= JA.Get(i) as TJSONObject; if Jo2 is TJSONObject then begin ShowMessage(Jo2.Get('itemId').JsonValue.Value); ShowMessage(Jo2.Get('title').JsonValue.Value);
end;
end; end; end;
end;
|
请发表评论