Delphi XE JSON[2] 创建JSON数据


{该文首发于博客园 滔Roy,无须授权即可转发,请自觉保留头部申明}

Delphi XE JSON[2] 创建JSON数据

1、创建JSON 数据(普通)

var
  JSObject:TJSONObject;
begin
  JSObject:=TJSONObject.Create; //创建JSON对象
  Memo1.Clear;  Memo2.Clear;
  try
    JSObject.AddPair('文本','你好,滔Roy.'); //也可以这样写 TJSONString.Create('你好,滔Roy.')
    JSObject.AddPair('数字', TJSONNumber.Create(1234.56));
    JSObject.AddPair('空值1', '');
    JSObject.AddPair('空值2', TJSONNull.Create);  //NULL
    JSObject.AddPair('布尔值1', TJSONBool.Create(true));
    JSObject.AddPair('布尔值2', TJSONBool.Create(false));
    Memo1.Lines.Add(JSObject.ToString);
    Memo2.Lines.Add(JSObject.ToJSON);
    LabelCount.Caption:=IntToStr(JSObject.Count);
  finally
    JSObject.Free;
  end;

2、创建JSON 数据(数组)

var
  JSObject,JSEle1,JSEle2:TJSONObject;
  JSONArr:TJSONArray;
begin
  Memo1.Clear;  Memo2.Clear;
  JSONArr:=TJSONArray.Create; //创建JSON数组  //创建后不需要释放free(会自动释放),如果操作释放free动作会报错
  //第一组数据
  JSEle1:=TJSONObject.Create; //创建JSON对象
  JSEle1.AddPair('名称','苹果');
  JSEle1.AddPair('数量',TJSONNumber.Create(10));
  JSEle1.AddPair('价格',TJSONNumber.Create(5));
  JSONArr.Add(JSEle1);   //添加到数组中
  
  //第二组数据
  JSEle2:=TJSONObject.Create; //创建JSON对象
  JSEle2.AddPair('名称','香蕉');
  JSEle2.AddPair('数量',TJSONNumber.Create(20));
  JSEle2.AddPair('价格',TJSONNumber.Create(3));
  JSONArr.Add(JSEle2);   //添加到数组中

  //将数组添加到顶层对象中
  JSObject:=TJSONObject.Create; //创建JSON对象
  try
    JSObject.AddPair('水果',JSONArr);

    Memo1.Lines.Add(JSObject.ToString);
    Memo2.Lines.Add(JSObject.ToJSON);
    LabelCount.Caption:=IntToStr(JSObject.Count);
  finally
    JSObject.Free;
  end;

 

创建时间:2022.03.20  更新时间:

相关