JSON 之 SuperObject(2): 构建方式与 AsJSon
SuperObject 构建一个 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.
JSON 之 SuperObject(2): 构建方式与 AsJSon的更多相关文章
- 彻底了解构建 JSON 字符串的三种方式
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7701856.html 前言:JSON 是轻量级的数据交换格式,很常用,尤其是在使用 Ajax ...
- JSON工具类的构建(后端版本)
前言 在前后端交互的选择上,之前一直采用的是模板引擎(因为我只负责后端). 而这次的一个算是作业吧,前后端都是我,所以就研究了一下JSON交互在java web的应用(主要是前端). 优缺点 前后端耦 ...
- 【代码笔记】iOS-向服务器传JSON数据的两种方式
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- 查询json数据结构的8种方式
查询json数据结构的8种方式 你有没有对“在复杂的JSON数据结构中查找匹配内容”而烦恼.这里有8种不同的方式可以做到: JsonSQL JsonSQL实现了使用SQL select语句在json数 ...
- JSON 之 SuperObject(11): TSuperTableString、TSuperAvlEntry
JSON 之 SuperObject(11): TSuperTableString.TSuperAvlEntry - 万一 - 博客园http://www.cnblogs.com/del/archiv ...
- Json传递数据两种方式(json大全)
1.Json传递数据两种方式(json大全)----------------------------字符串 var list1 = ["number","name&quo ...
- python中json格式数据输出实现方式
python中json格式数据输出实现方式 主要使用json模块,直接导入import json即可. 小例子如下: #coding=UTF-8 import json info={} info[&q ...
- spring接收json字符串的两种方式
一.前言 前几天遇到一个问题,前端H5调用我的springboot一个接口(post方式,@RequestParameter接收参数),传入的参数接收不到.自己测试接口时使用postman的form- ...
- jQuery异步获取json数据的2种方式
jQuery异步获取json数据有2种方式,一个是$.getJSON方法,一个是$.ajax方法.本篇体验使用这2种方式异步获取json数据,然后追加到页面. 在根目录下创建data.json文件: ...
随机推荐
- JAVA算法系列 冒泡排序
java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直 ...
- [转]layoutSubviews总结
原文链接找不到了,转的时候别人也是转载的,但并未留下原创链接,就当是笔记了. ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size- (void)s ...
- 从maya导入物体 Importing Objects From Maya
原地址:http://game.ceeger.com/Manual/HOWTO-ImportObjectMaya.html Unity natively imports Maya files. To ...
- Stacked injection--堆叠注入--堆查询注入
Stacked injection--堆叠注入--堆查询注入 原文地址;http://www.sqlinjection.net/stacked-queries/ 本篇属于集合原作者的思路和个人想法 ...
- jQuery实现表格隔行换色且感应鼠标高亮行变色
jQuery插件实现表格隔行换色且感应鼠标高亮行变色 http://www.jb51.net/article/41568.htm jquery 操作DOM的基本用法分享http://www.jb51. ...
- iOS搜索栏
百度云连接:http://pan.baidu.com/s/1pJLzDFX
- POJ 1665
#include<iostream>//chengdacaizi 08.11.12 #include<iomanip> #define p 3.1415927 using na ...
- 唉,还是Windows好
作为一个计算机专业的,常常抱怨Windows慢.一个系统用一段时间慢下来就重装,但是次次重装很麻烦,每次重装之后还得装软件. 另外,Windows比Linux占资源,所以前段时间就想以Linux为主要 ...
- ubuntu14.04安装MATLAB R2014a
1. 首先现在matlab2014a,http://pan.baidu.com/s/1pJGF5ov [Matlab2014a(密码:en52).该文件下载解压后如下所示: 2. 解压解压包(用lin ...
- iOS复杂动画之抽丝剥茧(Objective-C & Swift)
一.前言 随着开发者的增多和时间的累积,AppStore已经有非常多的应用了,每年都有很多新的APP产生.但是我们手机上留存的应用有限,所以如何吸引用户,成为产品设计的一项重要内容.其中炫酷的动画效果 ...