999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用Delphi XE獲取氣象的Json數(shù)據(jù)

2011-12-31 00:00:00李軍廷祁進(jìn)林
中國(guó)科技財(cái)富 2011年16期

摘要:Json提供了輕量級(jí)的數(shù)據(jù)交換格式,它已經(jīng)被越來(lái)越多的開(kāi)發(fā)語(yǔ)言所支持。本文提供了一個(gè)利用Delphi XE開(kāi)發(fā)環(huán)境來(lái)調(diào)用Json數(shù)據(jù)的實(shí)例。

關(guān)鍵詞: Json SuperObject DelphiXE

隨著AJAX應(yīng)用的發(fā)展,使用JSON格式進(jìn)行通信變得越來(lái)越流行。雖然Json誕生于Web開(kāi)發(fā)領(lǐng)域,但是對(duì)Json的語(yǔ)言支持已經(jīng)超出了Web開(kāi)發(fā)領(lǐng)域的范疇。本文提供了一個(gè)利用Delphi XE開(kāi)發(fā)環(huán)境來(lái)調(diào)用Json數(shù)據(jù)的實(shí)例。

一、Json

JSON(Javascript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換語(yǔ)言,以文字為基礎(chǔ),且易于讓人閱讀。它是基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個(gè)子集。

由于 JSON是為方便 JavaScript 調(diào)用而創(chuàng)建的,因此,JSON 的數(shù)據(jù)格式非常簡(jiǎn)單。可以用 JSON 傳輸一個(gè)簡(jiǎn)單的 String,Number,Boolean,也可以傳輸一個(gè)數(shù)組,或者一個(gè)復(fù)雜的 Object 對(duì)象。

JSON用于描述數(shù)據(jù)結(jié)構(gòu),有以下形式存在:

對(duì)象 (object):一個(gè)對(duì)象以“{”開(kāi)始,并以“}”結(jié)束。一個(gè)對(duì)象包含一系列非排序的名稱(chēng)/值對(duì),每個(gè)名稱(chēng)/值對(duì)之間使用“,”分區(qū),對(duì)象是可以層層嵌套的。

名稱(chēng)/值對(duì)(collection):名稱(chēng)和值之間使用“:”隔開(kāi),一般的形式是:

{name:value}

我們以中國(guó)天氣網(wǎng)的Json數(shù)據(jù)舉例:

訪(fǎng)問(wèn)http://www.weather.com.cn/data/cityinfo/101010100.html可以得到類(lèi)似如下的Json數(shù)據(jù):

{“weatherinfo”:{“city”:”北京”,”cityid”:”101010100”,”temp1”:”17℃”,”temp2”:”25℃”,”weather”:”陰”,”img1”:”n2.gif”,”img2”:”d2.gif”,”ptime”:”18:00”}}

注:101010100是北京市的編碼,讀者可以根據(jù)網(wǎng)站提供的編碼規(guī)則靈活更換城市。

二、SuperObject

SuperObject 是支持Delphi開(kāi)源的 JSON 工具包,可生成 JSON 數(shù)據(jù)以及進(jìn)行 JSON 解析。

此工具包可以在http://code.google.com/p/superobject/downloads/list網(wǎng)站下載,截止到筆者投稿日最新版本是1.2.4版。

SuperObject提供了兩個(gè)類(lèi)庫(kù)文件SuperObject.pas和superxmlparser.pas,其中SuperObject.pas用于操作json數(shù)據(jù),而superxmlparser.pas用于從XML數(shù)據(jù)中解析出json數(shù)據(jù)。

下面簡(jiǎn)單介紹一下SuperObject工具包的常用方法:

2.1 構(gòu)建方法:

定義字符串: JsonString = ‘{“City”:”北京”, “weather”:”陰”}’;

定義SuperObject對(duì)象: oJson: ISuperObject;

構(gòu)建方法:oJson := SO(JsonString);//等價(jià)于oJson:= TSuperObject.ParseString(JsonString);

2.2 訪(fǎng)問(wèn)方法:

superObject工具包可以用S,I,D,B,C方法讀取字符串型,數(shù)值型,雙精度浮點(diǎn)型,布爾型,貨幣型數(shù)據(jù)的值。另外它還支持調(diào)用對(duì)象(O)、方法(M)和空對(duì)象(N)。

如:s := oJson.S[' City '];//將字符串s賦值為北京。

2.3 數(shù)據(jù)操作方法:

superObject可以對(duì)Json數(shù)據(jù)進(jìn)行增加、修改和刪除等操作。

如: oJson.S[City] := ‘上海’;//將Json數(shù)據(jù)修改為’{“City”:”上海”, “weather”:”陰”}。

三、編程實(shí)現(xiàn)

接下來(lái)我們根據(jù)Json數(shù)據(jù)的特征和SuperOject類(lèi)庫(kù)為我們提供的方法,利用Delphi XE編程工具來(lái)實(shí)現(xiàn)獲取指定城市天氣預(yù)報(bào)的功能。

uses superObject,superXmlparser,msxml;

procedure TFrmWViewer.btnGetClick(Sender: TObject);

var

req: IXMLHttpRequest;

s:string;

obj: ISuperObject;

begin

req := CoXMLHTTP.Create;

req.open('GET', edtUrl.Text, 1, EmptyParam, EmptyParam);

req.send(EmptyParam);

s:=SO(req.responseText).S['weatherinfo'];

obj:=SO(s);

lblCity.Caption:=obj.S['city'];

lblWeather.Caption:=obj.S['weather'];

lblLowest.Caption:=obj.S['temp1'];

lblHighest.Caption:=obj.S['temp2'];

end;

程序運(yùn)行界面如下:

(此程序在windows 7+Delphi XE環(huán)境下調(diào)試通過(guò)。)

四、結(jié)束語(yǔ)

Json具有非冗長(zhǎng)性,易于閱讀和編寫(xiě),易于機(jī)器解析和生成的優(yōu)良特性,使得JSON成為理想的數(shù)據(jù)交換語(yǔ)言。這種輕量級(jí)的數(shù)據(jù)交換格式為我們C/S模式程序開(kāi)發(fā)中減小服務(wù)負(fù)載提供了一種新技巧。

參考資料:

[1] JSON介紹http://www.json.org/json-zh.html

[2] Subject介紹 http://code.google.com/p/superobject/

主站蜘蛛池模板: 亚洲va视频| 人妻少妇乱子伦精品无码专区毛片| 青青久久91| 六月婷婷精品视频在线观看 | 国产95在线 | 爱做久久久久久| 久久久久免费看成人影片 | 日本精品一在线观看视频| 麻豆精品久久久久久久99蜜桃| 热思思久久免费视频| 最新国语自产精品视频在| 色爽网免费视频| 91国内视频在线观看| 国产91麻豆免费观看| 国产精品永久不卡免费视频| 丰满的少妇人妻无码区| 中文字幕 91| 亚洲第一av网站| 在线观看视频一区二区| 99在线观看视频免费| 无码内射中文字幕岛国片| 97国产成人无码精品久久久| 99在线国产| 欧美激情综合| 中文无码日韩精品| 欧美亚洲另类在线观看| 欲色天天综合网| 9cao视频精品| 国产精品夜夜嗨视频免费视频| 久久精品嫩草研究院| 亚洲第一区精品日韩在线播放| 91久久青青草原精品国产| 在线欧美日韩| 国产乱人免费视频| 手机看片1024久久精品你懂的| 国产成人精品男人的天堂下载| 国产区福利小视频在线观看尤物| 十八禁美女裸体网站| 欧美激情视频一区| 国产精品久久久久鬼色| 尤物国产在线| 欧美亚洲国产精品久久蜜芽| 激情综合婷婷丁香五月尤物| 黄色网在线免费观看| 日韩毛片免费| 一级一级一片免费| 亚洲视频免费播放| 欧美、日韩、国产综合一区| 精品成人一区二区三区电影 | 日韩高清欧美| 国产欧美另类| 夜色爽爽影院18禁妓女影院| 欧美成人怡春院在线激情| 91在线国内在线播放老师| 久久77777| a天堂视频| 国产激爽爽爽大片在线观看| 久久久久亚洲AV成人人电影软件| 好吊色妇女免费视频免费| 亚洲第一黄片大全| 九九九九热精品视频| 亚洲无线视频| 国产成人综合日韩精品无码首页| 操国产美女| 国产欧美日韩另类精彩视频| 久久久噜噜噜| 欧美精品亚洲精品日韩专区| 亚洲第一区精品日韩在线播放| 欧美成人精品高清在线下载| 日本一本正道综合久久dvd | 亚洲成人高清在线观看| 欧美日本在线播放| 亚洲一级毛片在线播放| 精品少妇人妻av无码久久| 亚洲永久免费网站| 日韩乱码免费一区二区三区| www.精品国产| 五月激激激综合网色播免费| a毛片免费在线观看| 色香蕉影院| 日本不卡视频在线| 日韩不卡高清视频|