我休息請求的類如下德爾福對象JSON字符串如何忽略空和空字段
TRedeemItemsClass = class
private
[JSONName('RedeemCode')]
FRedeemCode: String;
[JSONName('AssetKey')]
FAssetKey:String;
public
property RedeemCode: String read FRedeemCode write FRedeemCode;
property AssetKey:String read FAssetKey write FAssetKey;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TRedeemItemsClass;
end;
implementation
function TRedeemItemsClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TRedeemItemsClass.FromJsonString(AJsonString: string): TRedeemItemsClass;
begin
result := TJson.JsonToObject<TRedeemItemsClass>(AJsonString)
end;
jObj := TJSONObject.ParseJSONValue(TEncoding.ASCII.GetBytes(reqRedeem.ToJsonString), 0) as TJSONObject;
使用此行代碼獲取我喜歡
JSON請求字符串如預期的那樣,{ 「RedeemCode」: 「」, 「AssetKey」: 「XXXXX」}
。
兌換請求體JSON字符串要麼(根據來自客戶assetkey或redeemcode接收的信息 )
{ 「RedeemItems」 這些中的一個:[{ 「AssetKey」:「XXXXX 「}]}
或
{」 雷德emItems「:[{」RedeemCode「:」xxxxx「}]}
因此,在短期內,我想忽略所有空或零的字段(包括數組)。
我正在使用Delphi 10 Seattle。
你必須建立JSON的 「手動」 或爲此寫一個攔截器 –
看看這個問題:h TTP://stackoverflow.com/questions/12168982/json-empty-array – Machado