Delphi xe10對json的解析應用

2021-07-16 17:24:12 字數 1107 閱讀 3329

json語句

引用單元

system.json
型別說明

//申明變數

root:tjsonobject;

//賦值

root:= tjsonobject.parsejsonvalue(trim(jsonstr)) as tjsonobject;

獲取json物件數量

root.count

遍歷物件名稱及數值

for i:=0 to root.count-1 do

begin

memo1.lines.add(root.get(i).jsonstring.tostring + ' = ' + root.get(i).jsonvalue.tostring);

end;

結果顯示

"code" = 100

"state" = "true"

"data" =

獲取指定物件內數值

root.getvalue('data').tostring

獲取陣列物件

申明json陣列變數

arr:tjsonarray;

arr:=tjsonarray(root.getvalue('data'));

遍歷json陣列

for i:=0 to arr.size - 1 do

begin

memo1.lines.add(arr.items[i].value);

end;

注意事項

json解析無法判斷資料內是否存在指定物件名,所以在吃不準是否存在指定物件的時候還是使用get遍歷的方式讀取資料比較穩妥。

Delphi XE6 原生解析json

delphi xe5帶了system.json單元,原生提供了json支援類。下面是解析json用法說明 最簡單的json大致像這樣 對於這種格式比較簡單的json,解析是非常容易的 strjson restresponse1.content jsonobject tjsonobject.parse...

Json概述以及python對json的相關操作

對簡單資料型別的encoding 和 decoding 使用簡單的json.dumps方法對簡單資料型別進行編碼,例如 1 2 3 4 5 6 importjson obj 1,2,3 123,123.123,abc encodedjson json.dumps obj printrepr obj ...

對JSON的理解

json是一種結構化資料,它是一種資料格式 json可以概括為三種型別 簡單值 物件 陣列 注意 json不支援變數 函式和物件例項 包括字串 數值 布林值 和null json不支援js中的undefined 例如 5 json數值 hello json字串 json字串必需使用雙引號!布林值和n...