superobject】的更多相关文章

SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: ISuperObject; var Result: ISuperObject); //另外, 这是其数据类型的枚举: TSuperType = (stNull, stBoolean, stDouble, stInt, stObject, stArray, stString, stMethod); 测试代码: un…
unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     Button2: TButton;     Button3: TButton;     procedure Button1Click(Sen…
uses superobject; procedure TForm1.FormCreate(Sender: TObject); var aJson: ISuperObject; aSuperArray: TSuperArray; i:Integer; begin {1.赋初值} aJson:=SO('{"zoo":"涂磊动物园","animals":[{"name":"猴子","year"…
unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     Button2: TButton;     Button3: TButton;     procedure Button1Click(Sen…
unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     Button2: TButton;     procedure Button1Click(Sender: TObject);     pro…
这几天学习 JSON - SuperObject, 非常幸运地得到了其作者 Henri Gourvest 大师的同步指点! (Henri 大师也是 DSPack 和 GDI+ 头文件的作者; 大师是法国人, 竟能用中文给我回复, 没想到!). 学习中发现 SuperObject 有些地方对中文(或者说 Unicode)支持不是所期望的, 现在专贴提出来供大师鉴别. 以下例子都会出现乱码, 虽然都可以有变通的方案, 但如果不乱码就太好了! unit Unit1; interface uses  …
SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是: procedure Method(const This, Params: ISuperObject; var Result: ISuperObject); //另外, 这是其数据类型的枚举: TSuperType = (stNull, stBoolean, stDouble, stInt, stObject, stArray, stString, stMethod); 测试代码: un…
在 JSON 中, 字符串应该在双引号中; 从上个例子才发现: 原来这个双引号可以省略, 有空格都行 当然只是在程序代码中可以省略, 对象会自动识别添加的. 即如此, 下面写法都可以: uses SuperObject; procedure TForm1.Button1Click(Sender: TObject); var   jo1,jo2,jo3: ISuperObject; begin   jo1 := SO('{"Name":"张三", "Age&…
unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     Button2: TButton;     Button3: TButton;     procedure Button1Click(Sen…
unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     Button2: TButton;     procedure Button1Click(Sender: TObject);     pro…
测试数据提前加入 Memo1 中: 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Memo1: TMemo;     Button1: TButton;     Button2: TButton;     Button…
SuperObject 构建一个 JSON 的常用方法: 从字符串.从文件.从流. unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, StdCtrls; type   TForm1 = class(TForm)     Button1: TButton;     Button2: TButton;     Button…
一直盼着 Delphi 能够直接支持 "正则表达式" 与 "JSON"; Delphi 2009 刚来的时候, 有了 JSON, 但不好, 那时尝试过一点. 这是以前的链接: 什么是 JSON? Delphi 2010 带了两个相关单元: DBXJSON.DBXJSONReflect 貌似很强大, 但主要是给 DataSnap 准备的; 尝试了半天, 也很失望: 可能给 DataSnap 网络数据传递够用了, 但太简陋了, 好像是没写完, 对中文支持也有问题. 我想…
困惑一天的问题 一个语句搞定了... 回头细说. superobject中的{$DEFINE UNICODE} 就是它,这是json官方推荐的Delphi处理json的包,地址: http://www.progdigy.com/?page_id=6 superobject中自动默认为UNICODE编码,处理中文会出现乱码. 注释{$DEFINE UNICODE} 就可以了. var    j, a: ISuperObject; //不能是TSuperObject,尽管有TSuperObject这…
delphi-json组件,速度非常快,要比superobject快好几倍https://github.com/ahausladen/JsonDataObjectshttp://bbs.2ccc.com/topic.asp?topicid=474290…
在delphi中,数据集是最常用数据存取方式.因此,必须建立JSON与TDataSet之间的互转关系,实现数据之间通讯与转换.值得注意的是,这只是普通的TDataset与JSON之间转换,由于CDS包含了Delta数据包,其数据格式远比普通的TDataset更复杂. 数据集字段信息,是一个完整的字典信息.因此,我们在JSON必须也建立字典信息,才能创建数据集的字段信息.我们设置其JSON信息如下: COLS:[字段列表信息],如: "Cols":[{"JsonType&quo…
JSON 之 SuperObject(11): TSuperTableString.TSuperAvlEntry - 万一 - 博客园http://www.cnblogs.com/del/archive/2009/10/27/1590501.html 通过 ISuperObject.AsObject 可获取一个 TSuperTableString 对象. TSuperTableString 的常用属性: count.GetNames.GetValues var   jo: ISuperObjec…
1.通过delphi程序访问PHP事先写好的webservice(查询功能),webservice返回json格式数据. 2.通过superobject读取json数据 得到效果如下: //深层级的访问 jo:=SO('{"datalist":{"username":"admin","name":"管理","sex":"男"}}'); if   jo['datalis…
Delphi 的 ISuperObject 属性顺序为随机.但是很多时候,是需要按加入顺序进行读取.我也看了网上很多人有类似需求.也有人问过原作者,作者答复为:JSON协议规定为无序.看了我真是无语. 也看过网上一些人自己的修改,但是修改后有两个问题(网上的方法都不好,只能自己动手了): 1. 性能急剧下降.原作者是用二叉树对性能做了极大的优化.但是网上修改的方法性能不行. 2. 属性数大于 32 时会出错.(原来用的是二叉树,修改后部分算法未修改,导致此问题). 我采用的是重写遍历器的方法,和…
GITHUB: https://github.com/hgourvest/superobject # SuperObject ## What is JSON ? - JSON (JavaScript Object Notation) is a lightweight data-interchange format.- It is easy for humans to read and write.- It is easy for machines to parse and generate.-…
SuperObject SuperObject第三方控件包,试用了下并编写了个DEMO,发现还是蛮强大.废话 少说,看看下面的代码就知道其强大: 1.JSON原始数据 {   "name": "张三", /* 注释 */   "age": 33,   "sex": true,   "weight": 123.456,   "tel": ["86-1111111", &…
unit uDBJson; interface {$HINTS OFF} uses SysUtils, Classes, Variants, DB, DBClient, SuperObject; type TTableJSon = class private const cstFieldType = 'FieldType'; const cstFieldName = 'FieldName'; const cstFieldSize = 'FieldSize'; const cstJsonType…
(* * Super Object Toolkit * * Usage allowed under the restrictions of the Lesser GNU General Public License * or alternatively the restrictions of the Mozilla Public License 1.1 * * Software distributed under the License is distributed on an "AS IS&q…
superobject使用方法 ISuperObject.AsObject 可获取一个 TSuperTableString 对象. TSuperTableString 的常用属性: count.GetNames.GetValues var   jo: ISuperObject;   jts: TSuperTableString; begin   jo := SO('{A:1, B:2, C:3, D:{x:4, y:5, z:6}}');   jts := jo.AsObject;   Show…
// SUPEROBJECT 序列数据集 cxg 2017-1-12// {"data":[{"c1":1,"c2":1}]};// DELPHI7 适用 unit superobjectDB; interface uses SysUtils, db, DBClient, superobject, EncdDecd, Classes, Httpapp; // {"data":[{"c1":1,"c…
//遍历对象 procedure TForm1.Button5Click(Sender: TObject); var item,jo: ISuperObject; ja,JA_TYPE,JA_MAC:TSuperArray; //json数组 i,j,k:Integer; jts: TSuperTableString; //TSuperTableString 的常用属性: count.GetNames.GetValues begin jo := SO(Memo1.Text); jts:=jo.A…
procedure TForm1.FormCreate(Sender: TObject); var n: TDateTime; i64: Int64; s: Integer; begin Memo1.Clear; Memo1.ReadOnly := True; n := StrToDateTime('2014-05-02 10:37:35'); Memo1.Lines.Add( IntToStr( DateTimeToUnix(N) - )) ; Memo1.Lines.Add( IntToSt…
(* { "name": "Henri Gourvest", /* this is a comment */ "vip": true, "telephones": ["000000000", "111111111111"], "age": 33, "size": 1.83, "adresses": [ { "adres…
http://blog.csdn.net/earbao/article/details/46423167…
var jo,jEntity,jSubEntity: ISuperObject; jaOrder,jaEntity,jaSubEntity: ISuperObject; i,j,entityCount,subEntityCount: Integer; begin entityCount:=; subEntityCount:=; jo := SO(); jaEntity := SA([]); jaOrder :=SA([]); jo.S['FSampleType']:=''; jo.S['FDat…