网站首页
登录
答题先锋网-做最好的答题器 ----> Delphi XE自带JSON的使用方法总结

Delphi XE自带JSON的使用方法总结

作者:张抱 发布于:2016-5-13 15:46 Friday 分类:技术

算是自己备忘吧,也免得大家遇到同类问题再重复劳动,现将DelphiXE 自带的JSON操作类的使用方法总结如下:

先介绍一下最基本的TJSONObject的使用。

uses System.JSON;

var
  JSON: TJSONObject;
begin
  JSON := TJSONObject.Create;
  JSON.AddPair('name', 'mestars');
  JSON.AddPair('age', '33');
  Memo1.Lines.Text := JSON.ToString;  //=> {"name":"mestars","age":"33"}
  JSON.Free;

对于数值类型就需要使用TJSONNumber了,TJSONNumber支持Double、Integer、Int64等。使用方法如下

uses Data.DBXJSON;

var
  JSON: TJSONObject;
begin
  JSON := TJSONObject.Create;
  JSON.AddPair('Double', TJSONNumber.Create(123.456));
  JSON.AddPair('Integer', TJSONNumber.Create(6789));
  JSON.AddPair('string', TJSONNumber.Create('1000'));
  Memo1.Lines.Text := JSON.ToString;  //=> {"Double":123.456,"Integer":6789,"string":1000}
  JSON.Free;

Boolean类型的值需要用到TJSONTrue和TJSONFalse。

uses System.JSON;

var
  JSON: TJSONObject;
begin
  JSON := TJSONObject.Create;
  JSON.AddPair('真', TJSONTrue.Create);
  JSON.AddPair('假', TJSONFalse.Create);
  Memo1.Lines.Text := JSON.ToString;  //=> {"真":true,"假":false}
  JSON.Free;

序列需要用到TJSONArray。

uses System.JSON;

var
  JSONArray: TJSONArray;
begin
  JSONArray := TJSONArray.Create;
  JSONArray.Add('张三');
  JSONArray.Add('李四');
  JSONArray.Add('王五');
  Memo1.Lines.Text := JSONArray.ToString; //=> ["张三","李四","王五"]
  JSONArray.Free;
 
  如果要把一个序列加到一个JSON对象里面需要这样: JSONObject.AddPair(TJSONPair.Create('Data', LArr));
 
  JSON解析的示例如下:
  procedure TForm1.Btn1Click(Sender: TObject);
var
  Items: TJSONObject;
  ItemArry:TJSONArray;
  I:Integer;
  ItemValue:string;
begin
  Items:=TJSONObject.ParseJSONValue('{"result":["abc","ccddee"]}') as TJSONObject ;
  ItemArry:= Items.GetValue('result') as TJSONArray ;
  for I := 0 to ItemArry.Count-1 do
  begin
  ItemValue:=ItemArry.Items[I].Value;
  Mmo1.Lines.Add(ItemValue );
  end;
end;
这里还有一篇可供参考的文章 http://blog.csdn.net/sunylat/article/details/41407945
  Delphi中使用JSON遇到问题欢迎留言讨论。
  PS:由于广告类的留言太多所以加了审核,不过我会定期看的。


标签: Delphi JSON解析 使用方法 总结 XE JSON生成 « php用pdo方式连接访问oracle数据库报"could not find driver"的解决方法 | Delphi的第三方JSON解析类XSuperObject的使用实例»

热烈欢迎各位留言,本人会虚心听取各位意见!


sitemap