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);
    procedure Button2Click(Sender: TObject);
  end; var
  Form1: TForm1; implementation {$R *.dfm} uses SuperObject; //Format
procedure TForm1.Button1Click(Sender: TObject);
var
  jo: ISuperObject;
begin
  jo := SO('{"Name":"张三", "Age":88, "Tel":["111,222"], "Children":{"Name":"张继"}}');   ShowMessage(jo.Format('姓名: %Name%; 年龄: %Age%'));   ShowMessage(jo.Format('%Tel%; %Tel[0]%; %Tel[1]%'));   ShowMessage(jo.Format('%Children%; %Children.Name%'));   ShowMessage(jo.Format('[Name], [Age]', '[', ']')); {可更换默认的 % 标记}
end; //特殊字符
procedure TForm1.Button2Click(Sender: TObject);
var
  jo: ISuperObject;
begin
  jo := SO;   { \u }
  jo := SO('"\u0041\u0042\u0043"');
  ShowMessage(jo.AsString);   { \x }
  jo := SO('"\x41\x42\x43"');
  ShowMessage(jo.AsString);   { \u 汉字}
  jo := SO('"\u4e07\u4e00"');
  ShowMessage(jo.AsString);   { \u 后面的数字可大写 }
  jo := SO('"\u4E07\u4E00"');
  ShowMessage(jo.AsString);   { \\、\/ }
  jo := SO('"A\\B\/C"');
  ShowMessage(jo.AsString);   { \t、\n 还有 \b、\f、\r }
  jo := SO('"A\tB\nC"');
  ShowMessage(jo.AsString);   { \"" }
  jo := SO('"\"ABC\""');
  ShowMessage(jo.AsString);   { null 是 JSON 的一种数据类型, 代表空值, 空值也是值的一种 }
  jo := SO('[1,2,3,null]');
  ShowMessage(jo.AsString);
end; end.

XE3随笔5:Format与转义字符的更多相关文章

  1. XE3随笔21:系统默认语言与系统支持的语言列表

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  2. XE3随笔20:几个和当前路径相关的新函数

    偶然从 SysUtils 里发现了几个路径相关的函数, 以前没见过, 可能是 Delphi XE3 新增的: GetLocaleDirectory(); GetLocaleFile(); Locale ...

  3. XE3随笔18:实例 - 解析 Google 关键字搜索排名

    同上例类似, 通过 'http://clients1.google.cn/complete/search?&q=' + "关键字" 可以获取 Google 的关键字搜索排名 ...

  4. XE3随笔19:实例 - 借用 Google 实现全文翻译

    调用 Google 翻译的地址格式: http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=" + ...

  5. XE3随笔17:实例 - 模拟 Google 搜索

    本例测试效果图: 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics ...

  6. XE3随笔16:将字符串转换成 UTF8 编码的函数

    这种转换一般用于网页地址; 我不知道 Delphi 是不是有现成的函数, 用到了就写了一个. //函数: function ToUTF8Encode(str: string): string; var ...

  7. XE3随笔12:TSuperTableString、TSuperAvlEntry

    通过 ISuperObject.AsObject 可获取一个 TSuperTableString 对象. TSuperTableString 的常用属性: count.GetNames.GetValu ...

  8. JSON 之 SuperObject(5): Format 与转义字符

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  9. XE3随笔15:使用 IXMLHTTPRequest 简单获取网页源代码

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

随机推荐

  1. cg tut

    Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?p ...

  2. 互斥锁(Mutex)

    互斥锁(Mutex)互斥锁是一个互斥的同步对象,意味着同一时间有且仅有一个线程可以获取它.互斥锁可适用于一个共享资源每次只能被一个线程访问的情况 函数://创建一个处于未获取状态的互斥锁Public ...

  3. 如何查看oracle数据库告警日志

    目标:查看alert日志 su - oracle cd $ORACLE_BASE/diag/rdbms/LXY/LXY/trace tail -100f alert_LXY.log 我的ORACLE_ ...

  4. ruby中proc和lambda的return区别

    学习ruby有一段时间了,但是我看了好几遍proc和lambda的return区别的区别讲解,始终没明白到底什么区别,今天上午又看,终于感觉是茅塞顿开有点领悟了 一下内容部分来自<<rub ...

  5. ubuntu14.04网络设置

    修改ip: /etc/network/interfaces

  6. 【转载】JMeter学习(一)工具简单介绍

    JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...

  7. pyhon之对memcached及redis操作

    Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached ...

  8. Reprot中的五个Trigger说明

    Report Trigger 1.1 Which report trigger to use As a general rule, any processing that will affect th ...

  9. 將後台的Json數據返回到前台

    前台JS代碼 $.post('/Book/GetBookClassIDByName', { BookName: "旅遊手冊" }, function (data) { if (da ...

  10. jquery源码学习之extend

    jquery的extend方法现项目中经常使用,现在了解一下它的实现. 说起extend就要先了解一个jQuery的$.extend和$.fn.extend作用及区别 jQuery为开发插件提拱了两个 ...