Json(三):构建方式与 AsJSon

it2025-05-03  15

Json(三):构建方式与 AsJSon

构建一个Json的常用方法:从字符串、从文件、从流

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; type TForm1 = class (TForm)Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); end ; var Form1: TForm1; implementation { $R *.dfm } uses SuperObject; const JsonStr = ' {"No1":"张三", "No2":"李四"} ' ; // 从字符串构建 procedure TForm1.Button1Click(Sender: TObject); var jo: ISuperObject; begin jo : = SO(JsonStr); { 或者用使用下面语句, SO 函数就是调用了 TSuperObject.ParseString } // jo : = TSuperObject.ParseString(JsonStr);ShowMessage(jo.AsJSon(True, False)); end ; // 从文件构建 procedure TForm1.Button2Click(Sender: TObject); const path = ' c:\temp\json.txt ' ; var jo: ISuperObject; begin { 产生个测试文件; SuperObject 对中文支持也不太好, 读取它自己保存的文件吧 } SO(JsonStr).SaveTo(path); { 这就产生并保存了 json 文件 } jo : = TSuperObject.ParseFile(path);ShowMessage(jo.AsJSon(True, False)); end ; // 从流构建 procedure TForm1.Button3Click(Sender: TObject); var jo: ISuperObject;stm: TStream;b: Byte; begin { 模拟个测试流; 看看它能接受的编码够原始的, 它存取文件也是如此 } stm : = TStringStream.Create( ' {"No2":"\u674e\u56db","No1":"\u5f20\u4e09"} ' );jo : = TSuperObject.ParseStream(stm);ShowMessage(jo.AsJSon(True, False));stm.Free; end ; // AsJSon 的参数 procedure TForm1.Button4Click(Sender: TObject); var jo: ISuperObject; begin jo : = SO(JsonStr);ShowMessage(jo.AsJSon);ShowMessage(jo.AsJSon(True));ShowMessage(jo.AsJSon(True, False));ShowMessage(jo.AsJSon(False, False)); end ; end . posted on 2011-07-11 17:16 龙七 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Dragon7/archive/2011/07/11/2103244.html

相关资源:数据结构—成绩单生成器
最新回复(0)