老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Delphi7怎樣用superobject解析Json數據

這期內容當中小編將會給大家帶來有關Delphi7怎樣用superobject解析Json數據,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

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

前言

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

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

superobject單元

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

Delphi7怎樣用superobject解析Json數據

Delphi7怎樣用superobject解析Json數據

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

基本用法

var
    j, a: ISuperObject;

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

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

    j.I['數字']:=123; 

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

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

    a:=TSuperObject.Create(stArray);

//創建一個json數組a
    a.I['']:=111; 

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

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

//把數組a添加進j,其key名為arr

    showmessage( j.toJson() ); 

//查看j的json文本


    j:=nil; 

//不能寫j.Free

end;


代碼演示

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

Delphi7怎樣用superobject解析Json數據

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

Delphi7怎樣用superobject解析Json數據

Delphi7怎樣用superobject解析Json數據

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

Delphi7怎樣用superobject解析Json數據

在動態庫的項目里面我們可以看到已經把這兩個單元文件引用進來了。

DoJson單元

在這個單元里面我寫了三個函數

Delphi7怎樣用superobject解析Json數據

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

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

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


GetJsonStr

Delphi7怎樣用superobject解析Json數據

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

如下

Delphi7怎樣用superobject解析Json數據

上面傳入的這個Json的字符串

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

Delphi7怎樣用superobject解析Json數據

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

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


OutParaJsonStr

接口文檔

Delphi7怎樣用superobject解析Json數據

生成函數

Delphi7怎樣用superobject解析Json數據

上在就是一個生成Json字符串的函數

Delphi7怎樣用superobject解析Json數據

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

調用方法

Delphi7怎樣用superobject解析Json數據

返回的Json

Delphi7怎樣用superobject解析Json數據


CreateOutMsgJsonStr

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

接口文檔

Delphi7怎樣用superobject解析Json數據

接口函數

Delphi7怎樣用superobject解析Json數據

調用方法

Delphi7怎樣用superobject解析Json數據

返回的Json

Delphi7怎樣用superobject解析Json數據


程序調用后的顯示效果

Delphi7怎樣用superobject解析Json數據

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


網頁名稱:Delphi7怎樣用superobject解析Json數據
分享地址:http://www.xueling.net.cn/article/ipcoje.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 法国《性迷宫》在线观看 | 真实国产乱子伦在线视频 | 精品人妻无码视频中文字幕一区二区三区 | 免费精品国偷自产在线青年 | 国产精品无码a∨果冻传媒 精品国产一区二区亚洲人成毛片 | 日本久久精品一区 | 古代春交性姿势K8 | 高潮毛片无遮挡免费高清 | 交换娇妻呻吟hd中文字幕 | 狠狠躁日日躁狂躁夜夜躁 | 欧美三级不卡在线观看 | 中文字幕一区二区三区在线视频 | 日韩人妻中文无码一区二区三区 | 国产精品久久久久7777婷婷 | 久久精品欧美日韩精品 | 在线成人精品国产区免费 | 亚洲妇女水蜜桃AV网网站 | 亚洲第一无码av无码专区 | 久久夜色精品国产亚洲 | 抽插欧洲老妇白浆兽交视频 | 日韩影视在线观看 | 国产一区二区三区中文 | 亚洲自拍一区在线观看 | 国产日产欧产精品精乱了派 | 欧美18—19sex性hd | 亚洲成AV人在线视达达兔 | 成人三级影院 | 久久精品牌麻豆国产大山 | 亚洲国产欧美在线人成最新 | 国产精品色吧国产精品 | 亚洲首页av | 亚洲狠狠色综合蜜桃 | 麻豆视频在线观看免费网站 | 自拍偷拍99 | 鲁一鲁亚洲无线码 | 亚洲欧洲美洲综合色网 | 在线观看二区 | 丁香花在线观看免费观看图片 | 日韩激情无码不卡码 | 97在线观| 亚洲欧美精品一区二区三区 |