随笔分类 -  Delphi 与 JSON

1
关于内存数据与 JSON
摘要:闲话: 正在用 WebBroker 写一个小网站,感受颇多: 1、如果是写一个小东西,应该先考虑下 WebBroker,因为它是分分钟即可上手的。 2、如果要写一个大东西,或许也应该考虑下 WebBroker,因为相比其他它有着最高的灵活度(但这只是想像,因为我只是写了一个小东西)。 3、Delph 阅读全文
posted @ 2015-01-15 14:54 万一 阅读(31330) 评论(33) 推荐(6) 编辑
用 SuperObject 解析淘宝上的 Json 数据 - 回复 "macrolen" 的问题
摘要:macrolen 给了这样一些数据, 说是用淘宝的 API 获取的 JSON 数据, 让我帮助解析:{"items_search_response":{"item_search":{"item_categories":{"item_category":[{"category_id":150708,"count":66},{"category_id":50002480,"count":93},{"c... 阅读全文
posted @ 2010-01-18 18:18 万一 阅读(13605) 评论(16) 推荐(0) 编辑
JSON 之 SuperObject(17): 实例 - 借用 Google 实现全文翻译
摘要:调用 Google 翻译的地址格式:http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + 原始文本 + "&langpair=" + 原语言 + "%7C" + 目标语言返回的数据格式如下, 可以用 responseData.translatedText 简单获取:{ "responseData" : {"... 阅读全文
posted @ 2009-10-28 14:52 万一 阅读(7735) 评论(29) 推荐(0) 编辑
JSON 之 SuperObject(16): 实例 - 解析 Google 关键字搜索排名
摘要:同上例类似, 通过 'http://clients1.google.cn/complete/search?&q=' + "关键字" 可以获取 Google 的关键字搜索排名.我用 Delphi 为关键字得到的结果是:window.google.ac.h( ["Delphi",[ ["delphi 教程", "375,000 结果", "0"], ["delphi盒子", "74,900 结果",... 阅读全文
posted @ 2009-10-28 09:42 万一 阅读(4577) 评论(0) 推荐(0) 编辑
JSON 之 SuperObject(15): 实例 - 模拟 Google 搜索
摘要:本例测试效果图:代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Memo1: TMemo; Edit1: TEdit; Button1: TB... 阅读全文
posted @ 2009-10-27 23:04 万一 阅读(6547) 评论(2) 推荐(0) 编辑
JSON 之 SuperObject(14): 从 XML 中解析
摘要:SuperObject 文件包中还有一个 SuperXmlParser 单元, 可以从 XML 中解析出 ISuperObject.SuperXmlParser 只有三个函数: XMLParseString、XMLParseStream、XMLParseFile, 分别从字符串、流、文件中解析.遗憾的是对中文不够友好. unit Unit1;interfaceuses Windows, Mess... 阅读全文
posted @ 2009-10-27 16:46 万一 阅读(6512) 评论(20) 推荐(0) 编辑
JSON 之 SuperObject(13): 关于 SO 与 SA 函数
摘要:通过 SuperObject 的公用函数 SO 实现一个 ISuperObject 接口非常方便;前面都是给它一个字符串参数, 它的参数可以是任一类型甚至是常数数组.SA 和 SO 都是返回一 ISuperObject;SO 可以产生一个 stArray 类型的 ISuperObject, 但 SA 只会产生 stArray 类型的 ISuperObject;SA 的参数也只能是常数数组.unit... 阅读全文
posted @ 2009-10-27 15:21 万一 阅读(10340) 评论(3) 推荐(0) 编辑
JSON 之 SuperObject(12): TSuperEnumerator、TSuperAvlIterator、ObjectFindFirst...
摘要:通过 ISuperObject.GetEnumerator 可获取一个 TSuperEnumerator 对象.TSuperEnumerator 主要有: MoveNext 方法、Current 属性; 使用举例:var jo: ISuperObject; e: TSuperEnumerator;begin jo := SO('{A:1, B:2, C:3, D:[4, 5, {X:6}, ... 阅读全文
posted @ 2009-10-27 14:08 万一 阅读(5664) 评论(0) 推荐(0) 编辑
JSON 之 SuperObject(11): TSuperTableString、TSuperAvlEntry
摘要:通过 ISuperObject.AsObject 可获取一个 TSuperTableString 对象.TSuperTableString 的常用属性: count、GetNames、GetValuesvar jo: ISuperObject; jts: TSuperTableString;begin jo := SO('{A:1, B:2, C:3, D:{x:4, y:5, z:6}}'... 阅读全文
posted @ 2009-10-27 11:00 万一 阅读(7289) 评论(12) 推荐(0) 编辑
JSON 之 SuperObject(10): Merge、Clone、ForcePath
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton... 阅读全文
posted @ 2009-10-26 13:59 万一 阅读(5589) 评论(12) 推荐(0) 编辑
JSON 之 SuperObject(9): TSuperType
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button... 阅读全文
posted @ 2009-10-26 13:19 万一 阅读(4921) 评论(1) 推荐(0) 编辑
JSON 之 SuperObject(8): 关于乱码的几种情况 - 向 Henri Gourvest 大师报告
摘要:这几天学习 JSON - SuperObject, 非常幸运地得到了其作者 Henri Gourvest 大师的同步指点! (Henri 大师也是 DSPack 和 GDI+ 头文件的作者; 大师是法国人, 竟能用中文给我回复, 没想到!).学习中发现 SuperObject 有些地方对中文(或者说 Unicode)支持不是所期望的, 现在专贴提出来供大师鉴别.以下例子都会出现乱码, 虽然都可以有... 阅读全文
posted @ 2009-10-24 21:31 万一 阅读(11288) 评论(16) 推荐(0) 编辑
JSON 之 SuperObject(7): 可以省略的双引号
摘要:在 JSON 中, 字符串应该在双引号中; 从上个例子才发现: 原来这个双引号可以省略, 有空格都行当然只是在程序代码中可以省略, 对象会自动识别添加的.即如此, 下面写法都可以:uses SuperObject;procedure TForm1.Button1Click(Sender: TObject);var jo1,jo2,jo3: ISuperObject;begin jo1 := S... 阅读全文
posted @ 2009-10-23 22:17 万一 阅读(7429) 评论(1) 推荐(0) 编辑
JSON 之 SuperObject(6): 方法
摘要:SuperObject 的 JSON 对象中还可以包含 "方法", 这太有意思了; 其方法的格式是:procedure Method(const This, Params: ISuperObject; var Result: ISuperObject);//另外, 这是其数据类型的枚举:TSuperType = (stNull, stBoolean, stDouble, stInt, stObje... 阅读全文
posted @ 2009-10-23 21:37 万一 阅读(10459) 评论(5) 推荐(0) 编辑
JSON 之 SuperObject(5): Format 与转义字符
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button... 阅读全文
posted @ 2009-10-23 18:10 万一 阅读(10375) 评论(2) 推荐(1) 编辑
JSON 之 SuperObject(4): 增、删、改
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton... 阅读全文
posted @ 2009-10-23 17:35 万一 阅读(16802) 评论(3) 推荐(1) 编辑
JSON 之 SuperObject(3): 访问
摘要:测试数据提前加入 Memo1 中:{ "name": "张三", /* 注释 */ "age": 33, "sex": true, "weight": 123.456, "tel": ["86-1111111", "86-2222222"], "addresses":{"address":"A省B市", "pc":"100001"}, "children": [ { "name": ... 阅读全文
posted @ 2009-10-23 15:11 万一 阅读(28841) 评论(22) 推荐(1) 编辑
JSON 之 SuperObject(2): 构建方式与 AsJSon
摘要:SuperObject 构建一个 JSON 的常用方法: 从字符串、从文件、从流.unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TB... 阅读全文
posted @ 2009-10-23 13:12 万一 阅读(20883) 评论(6) 推荐(0) 编辑
JSON 之 SuperObject(1)
摘要:一直盼着 Delphi 能够直接支持 "正则表达式" 与 "JSON";Delphi 2009 刚来的时候, 有了 JSON, 但不好, 那时尝试过一点. 这是以前的链接: 什么是 JSON?Delphi 2010 带了两个相关单元: DBXJSON、DBXJSONReflect 貌似很强大, 但主要是给 DataSnap 准备的; 尝试了半天, 也很失望: 可能给 DataSnap 网络数据传递... 阅读全文
posted @ 2009-10-22 23:48 万一 阅读(41801) 评论(17) 推荐(0) 编辑
预习 Delphi 2009 中的新功能 - JSON (一) : 什么是 JSON?
摘要:JSON(JavaScript Object Notation) 类似与 XML; 虽始于 JavaScript, 但被多种语言支持, 它也成了 Delphi 2009 的新功能之一.假如有一段 XML:2张三99用 json 可以表示为:{"id":2, "name":"张三", "age":99}json 在 JavaScript 中使用异常方便, 譬如://例1:Data = {"id":2... 阅读全文
posted @ 2008-08-06 02:12 万一 阅读(26604) 评论(13) 推荐(0) 编辑

1