新版Delphi10.3.2自带JSON类构建JSON及根据JsonPath高效解析JSON示例代码
{
"error":0,
"status":"success",
"date":"2014-03-04",
"results":
[
{
"currentCity":"成都",
"weather_data":
[
{
"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℃"
}
,
{
"date":"周三",
"dayPictureUrl":"http://api.map.baidu.com/images/weather/day/yin.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/xiaoyu.png",
"weather":"阴转小雨",
"wind":"北风微风",
"temperature":"14 ~ 7℃"
}
,
{
"date":"周四",
"dayPictureUrl":"http://api.map.baidu.com/images/weather/day/xiaoyu.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/xiaoyu.png",
"weather":"小雨",
"wind":"北风微风",
"temperature":"12 ~ 7℃"
}
,
{
"date":"周五",
"dayPictureUrl":"http://api.map.baidu.com/images/weather/day/xiaoyu.png",
"nightPictureUrl":"http://api.map.baidu.com/images/weather/night/xiaoyu.png",
"weather":"小雨",
"wind":"南风微风",
"temperature":"9 ~ 6℃"
}
]
}
]
}
//构建JSON
procedure TForm1.Button1Click(Sender: TObject);
var
json:TJSONObject;
person:TJSONObject;
begin
json:= TJSONObject.Create;
json.AddPair('code','0');
json.AddPair('msg','success');
person:= TJSONObject.Create;
person.AddPair('id','1001');
person.AddPair('name','张三');
person.AddPair('sex','男');
person.AddPair('age','30');
person.AddPair('address','广东省广州市XXXX街XXX路XX号');
json.AddPair('data',person);
Memo1.Text:=json.ToString;
end;
//解析JSON
procedure TForm1.Button2Click(Sender: TObject);
var
json:TJSONObject;
begin
json:=TJSONObject.ParseJSONValue(Memo2.Text)as TJSONObject;
edit1.Text:=json.p['results[0].weather_data[1].temperature'].ToString;
edit2.Text:=json.GetValue<string>('results[0].weather_data[2].nightPictureUrl');
end;
效果截图:
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751689.html