Delphi 7 操作 Json,我引用了第三方单元文件 superobject.pas:
uses superobject
{先声明一个Json对象}
var
jsonObj: IsuperObject;
jsonStr: string;
{1 简单的直接赋值}
begin
{初始化json对象}
jsonStr:= '{"001":"小小威", "002":"小俊俊", "003":"小猛子"}';
jsonObj:= SO(jsonStr);
{查看json对象的所有值}
ShowMessage(jsonObj.AsString);
{查看json对象的特定值,先检查该键值是否存在}
if jsonObj['001'] <> nil then
ShowMessage(json['001'].AsString);
end;
{2 简单的增删键值}
begin
{增加一对键值}
jsonObj.S['004']:= '小扯均';
ShowMessage(jsonObj.AsString);
{删去一对键值}
jsonObj.Delete('001');
ShowMessage(jsonObj.AsString);
{清空所有键值}
jsonObj.Clear();
ShowMessage(jsonObj.AsString);
end;
将以上基本功能封装为函数:
{初始化一个空的 Json 对象}
procedure Init_Json_Obj(var json: ISuperObject);
begin
json:= SO('{}');
end;
{清空一个 Json 对象的所有键值对}
procedure Clear_Json_Obj(var json: ISuperObject);
begin
json.Clear();
end;
{插入一个 Json 键值对}
procedure Insert_Json_key(var json: ISuperObject; key, value: string);
begin
json.S[key]:= value;
end;
{删除一个 Json 键值对}
procedure Delete_Json_key(var json: ISuperObject; key: string);
begin
json.Delete(key);
end;
{查看指定 Json 对象某个键的值}
function Json_key_value(var json: ISuperObject; key: string): string;
begin
if json[key] <> nil then
Result:= json[key].AsString;
else
Result:= '';
end;
网友评论