欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Delphi7怎樣用superobject解析Json數(shù)據(jù)

這期內(nèi)容當中小編將會給大家?guī)碛嘘PDelphi7怎樣用superobject解析Json數(shù)據(jù),文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司是專業(yè)的達日網(wǎng)站建設公司,達日接單;提供做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行達日網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

前言

現(xiàn)在不管Webapi還是一般的數(shù)據(jù)通訊,用的基本都是Json,以前很多的應用程序都是用delphi7開發(fā)的,為了維護舊的程序以及與新的接口進行對接(如微信支付寶支付等),我們就用到了superobject來操作Json數(shù)據(jù)。

由于我們用的是D7,里面沒有泛型等這些用法,所以也不存在什么類的序列化與反序列化直接生成Json。操作起來可能比較C#,Android等要麻煩點。

superobject單元

這個可以在網(wǎng)上下載,后面我們會這個unit放到我的網(wǎng)盤上,這里我們用到的是

Delphi7怎樣用superobject解析Json數(shù)據(jù)

Delphi7怎樣用superobject解析Json數(shù)據(jù)

就是上面這個superobject.pas,我的版本是1.25的,原來用了個1.24的里面有幾個小BUG(如Currency類型的輸入0解析不了),在1.25里面解決了。

基本用法

var
    j, a: ISuperObject;

//不能是TSuperObject,盡管有TSuperObject這個類。
begin
    j:=TSuperObject.Create(stObject);

//創(chuàng)建一個json對象,如果參數(shù)是stArray,j就是一個json數(shù)組,參數(shù)還可以是其它的變量類型,比如字符串,數(shù)值之類的,看起來很強大,但是如果參數(shù)是一個描述了json的字符串的話,你會得到一個錯誤。如果想從文本加載,用j:=SO(json文本);

    j.I['數(shù)字']:=123; 

//就等于 {"數(shù)字": 123} ,類似的,I還可以變成S,B,C之類的,以表示字符串,布爾型,貨幣型。
    j.S['字符串']:="值";

//就等于 {"字符串": “值”} ,類似的,I還可以變成S,B,C之類的,以表示字符串,布爾型,貨幣型。

    a:=TSuperObject.Create(stArray);

//創(chuàng)建一個json數(shù)組a
    a.I['']:=111; 

//表示給a數(shù)組添加一個111元素。注意[]中的值為'',在數(shù)組中其[]的語義進行了顛覆性的改變。
    a.I[2]:="s";

//第3個元素值為"s",嗯,[]在superobject的用法還真多
    j['arr']:=a;

//把數(shù)組a添加進j,其key名為arr

    showmessage( j.toJson() ); 

//查看j的json文本


    j:=nil; 

//不能寫j.Free

end;


代碼演示

因為這是在項目的邊做邊寫的,所以我們還是用上一章的《Delphi調(diào)用動態(tài)鏈接庫》PosPayIntf動態(tài)庫項目,先看一下我們的目錄結構

Delphi7怎樣用superobject解析Json數(shù)據(jù)

我們把Json這塊的處理都放在了BaseClass下的Json文件夾下

Delphi7怎樣用superobject解析Json數(shù)據(jù)

Delphi7怎樣用superobject解析Json數(shù)據(jù)

其中superobject就是我們引用的Json解析單元,DoJson是我自己封裝的幾個處理返回的方法。

Delphi7怎樣用superobject解析Json數(shù)據(jù)

在動態(tài)庫的項目里面我們可以看到已經(jīng)把這兩個單元文件引用進來了。

DoJson單元

在這個單元里面我寫了三個函數(shù)

Delphi7怎樣用superobject解析Json數(shù)據(jù)

  • GetJsonStr;獲取Json對應的項目下的字符串

  • CreateOutMsgJsonStr;生成輸出的OutMsg的Json字符串

  • CreateOutParaJsonStr;生成輸出OutParaJsonStr的字符串


GetJsonStr

Delphi7怎樣用superobject解析Json數(shù)據(jù)

根據(jù)輸入的Json字符串,我們找到指定的屬性來獲取對應的字符串

如下

Delphi7怎樣用superobject解析Json數(shù)據(jù)

上面?zhèn)魅氲倪@個Json的字符串

我們通過下面方法獲取對應的值

Delphi7怎樣用superobject解析Json數(shù)據(jù)

第一個GetJsonStr(Inparastr,'payinfo'),調(diào)用這個后我們的tmpParaStr得到的字符串就變成{"oldsaleno":"","payamt":387.6,"oldposno":"","oldpayno":"","salen
o":"201708181158150001","oldsaledate":"","oldrefinfo":""}

第二個GetJsonStr(tmppParaStr,'Payamt'),調(diào)用這個后我們的PayTotal值就獲取到了387.6,然后我們再把字符串轉換為Currency類型即可。


OutParaJsonStr

接口文檔

Delphi7怎樣用superobject解析Json數(shù)據(jù)

生成函數(shù)

Delphi7怎樣用superobject解析Json數(shù)據(jù)

上在就是一個生成Json字符串的函數(shù)

Delphi7怎樣用superobject解析Json數(shù)據(jù)

這個參數(shù)后面幾個我都有加上默認值,所以在調(diào)用的時候如果不用輸這些參數(shù)就直接給的默認值

調(diào)用方法

Delphi7怎樣用superobject解析Json數(shù)據(jù)

返回的Json

Delphi7怎樣用superobject解析Json數(shù)據(jù)


CreateOutMsgJsonStr

這個方法和上面這個基本一樣,只不通參數(shù)不同

接口文檔

Delphi7怎樣用superobject解析Json數(shù)據(jù)

接口函數(shù)

Delphi7怎樣用superobject解析Json數(shù)據(jù)

調(diào)用方法

Delphi7怎樣用superobject解析Json數(shù)據(jù)

返回的Json

Delphi7怎樣用superobject解析Json數(shù)據(jù)


程序調(diào)用后的顯示效果

Delphi7怎樣用superobject解析Json數(shù)據(jù)

上述就是小編為大家分享的Delphi7怎樣用superobject解析Json數(shù)據(jù)了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標題:Delphi7怎樣用superobject解析Json數(shù)據(jù)
鏈接地址:http://www.aaarwkj.com/article24/ipcoje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、小程序開發(fā)、網(wǎng)站排名、移動網(wǎng)站建設、網(wǎng)站導航、網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
日韩不卡免费一区二区三区视频| 天堂av中文字幕在线不卡| 四虎最新在线播放视频| 日本中文字幕免费专区| 亚洲中文字幕一二区日韩| 久热视频这里只有精品99| 亚洲综合久久精品少妇av| 亚洲欧洲精品真人av蜜臀| 精品人妻一区二区三区久久91| 一区二区三区四区在线视频观看 | 国产女人高潮流白丝视频| 亚洲精品色播一区二区| 美女黄色午夜福利网站| 国产一区二区在线乱码| 国产福利传媒在线观看| 亚洲1区2区中文字幕| 中文字幕一区二区不卡顿| 午夜视频在线观看麻豆| 国产91在线观看网站| 精品久久av一区二区三区| 日本一区中文字幕欧美| 国产另类极品熟女露脸自拍| 日本一区二区电影在线看| 蜜桃免费观看在线视频| 美女在线免费观看av| 亚洲字幕中文在线乱码mv | 国产精品久久电影观看| 中文字幕精品久久久人妻| 久热伊人精品国产中文| 中文字幕乱码亚州精品一区| 国产传媒视频网站在线观看| 日韩人妻一区中文字幕| 粉嫩国产av一区二区三区| 漂亮人妻中文字幕av| 久久综合视频大片视频| 久久精品人妻麻豆尤物| 国产免费播放一区二区三区| 日本性电影一区二区| 国产情色自拍在线观看 | 亚洲国产成人av精品精品国产自| 日韩美女av在线播放|