Delphi使用JSON

最近碰到一个问题,一个函数要返回多个值,本来是Boolean,现在我改成了TJSONObject。

1.引入头文件

delphi使用JSON要引入一个System.JSON

在这里插入图片描述

2.存储

每一个方法里面使用都要先进行变量的声明

编号对象说明
1TJSONValue所有JSON类的祖先,包括以下所有对象
2TJSONObject一个JSON对象,对应一段JSON字符串
3TJSONPair代表一个Key-Value的JSON对,包括josnString和jsonValue
4TJSONString代表一个字符串的JSON节点
5TJSONNumber代表一个数值的JSON节点,可以是整形,也可以是浮点型(日期是浮点型)
6TJSONBool代表一个布尔型的JSON节点
7TJSONArray代表一个数组型的JSON节点
8TJSONTrue表示一个TJSONBool型的值为True对象
9TJSONFalse表示一个TJSONBool型的值为False对象
var
  res: TJSONObject;
begin
  //初始化创建res
  res := TJSONObject.Create;
  //给json追加参数,这里都用string
  res.AddPair('res','false');
  res.AddPair('name','测试');
  result := res;
end;

在这里插入图片描述

3.调用

//简单获取值
rs.GetValue('res');

//如果是中文会涉及到转义,所以用JsonValue.Value
//Replace是为了消除引号
rs.Get('name').JsonValue.Value.Replace('"', '')

4.释放

delphi将JSON元素都定义为对象,注意是对象,既然是对象就需要创建,需要释放。

rs.Free;
DELPHI彫和JSON代码* Copyright (c) 2006,2007,2008,2009 Leonid Koninin * leon_kon@users.sourceforge.net * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * Neither the name of the nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY Leonid Koninin ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL Leonid Koninin BE LIABLE FOR ANY * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值