json 潜逃 结构体_JSON还原为结构体
JSON还原为结构体
1)JSON字符串还原为结构体;
2)访问结构体的字段值;
本例运行效果图:
uses
SynCommons;
const // JSON字符串
JSON1 =
'{' + #13#10 + '"glossary": {' + #13#10 + '"title": "中国",' + #13#10
+ '"GlossDiv": {' + #13#10
+ '"title": "湖南省",' + #13#10
+ '"GlossList": {' + #13#10
+ '"GlossEntry": {' + #13#10
+ '"ID": "湘乡市",' + #13#10
+ '"SortAs": "SGML",' + #13#10
+ '"GlossTerm": "Standard Generalized Markup Language",' + #13#10
+ '"Acronym": "SGML",' + #13#10
+ '"Abbrev": "ISO 8879:1986",' + #13#10
+ '"GlossDef": {' + #13#10
+ '"para": "A meta-markup language, used to create markup languages such as DocBook.",' + #13#10
+ '"GlossSeeAlso": ["咏南中间件", "XML"]' + #13#10
+ '},' + #13#10
+ '"GlossSee": "markup"' + #13#10 + '}'
+ #13#10 + '}' + #13#10
+ '}' + #13#10
+ '}' + #13#10
+ '}';
type // 记录
TGlossary = record
glossary: record
title: string;
GlossDiv: record
title: string;
GlossList: record
GlossEntry: record
ID, SortAs, GlossTerm, Acronym, Abbrev: string;
GlossDef: record
para: string;
GlossSeeAlso: array of string;
end;
GlossSee: string;
end;
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
gloss: TGlossary;
json: RawUTF8;
begin
json := JSON1;
RecordLoadJSON(gloss, @json[1], TypeInfo(TGlossary));
Memo1.Clear;
Memo1.Lines.Add(gloss.glossary.title); // 中国
Memo1.Lines.Add(gloss.glossary.GlossDiv.title); // 湖南省
Memo1.Lines.Add(gloss.glossary.GlossDiv.GlossList.GlossEntry.ID); // 湘乡市
Memo1.Lines.Add(gloss.glossary.GlossDiv.GlossList.GlossEntry.GlossDef.GlossSeeAlso[0]); // 咏南中间件
end;
json 潜逃 结构体_JSON还原为结构体相关推荐
- json 潜逃 结构体_JSON还原为结构体 - osc_t5zhwnvx的个人空间 - OSCHINA - 中文开源技术交流社区...
JSON还原为结构体 1)JSON字符串还原为结构体: 2)访问结构体的字段值: 本例运行效果图: uses SynCommons; const // JSON字符串 JSON1 = '{' + #1 ...
- Go 学习笔记(14)— 结构体定义、实例化、初始化、匿名结构体、结构体访问、结构体作为形参、结构体指针
Go 语言中没有 "类" 的概念,也不支持 "类" 的继承等面向对象的概念.Go 语言不仅认为结构体能拥有方法,且每种自定义类型也可以拥有自己的方法. 1. 结 ...
- 【DBMS 数据库管理系统】OLAP 核心技术 : 数据方体 ( 数据方体 | 数据方体格结构 | 数据单元 )
文章目录 一.数据方体 二.数据方体 格结构 ( 参考 ) 三.数据单元 一.数据方体 数据方体 简介 : "数据方体" 概念 : 多维数据模型 构成的 多维数据空间 称为 &qu ...
- Golang结构体struct的使用(结构体嵌套, 匿名结构体等)
转自: https://studygolang.com/articles/11313 golang中是没有class的,但是有一个结构体struct,有点类似,他没有像java,c++中继承的概念,但 ...
- c语言怎么判定结构体有无数据,C语言中什么是结构体,怎么定义结构体。
为什么要用结构体? 没有结构体之前,C语言中,数据的组织依靠:变量+数组.最初最简单的时候,只需要使用基本数据类型来定义单个变量,需要几个就定义几个,后来有时候需要很多意义相关的变量这时候数组出现了. ...
- 结构体引用_C/C++结构体完全攻略
结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值.在过去,面向对象编程的应用尚未普及之前,程序员通常使用这些从逻辑上连接在一起的数据组合到一个单元中.一旦结构体类型被声明并且其数据成员被标 ...
- linux内核重要结构体,Linux中list_head结构体相关 | 技术部落
在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head.虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作li ...
- Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承
结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...
- c 结构体转byte_C中结构体和字节流的互换及内存对齐
mystruct p; char buff[50]; memcpy(buff,&p,sizeof(p)); //把p的内容以字节形式拷贝到buff中 mystruct* q; q = (mys ...
最新文章
- 收到2013年51cto限量版精美台历
- bmp类型转成Halcon的Hobject类型
- python安装成功第三方库但import出问题_为什么会在pyspark在RDD中调用python第三方库失败?...
- springer grammar revise tool
- java dog类型_java泛型中?和T有什么区别?
- Java Virtual Machine Stacks(虚拟机栈)
- linux 监听日志_Linux系统取证概述
- bat脚本 -- 初步接触
- 管理系统统一鉴权服务器,确认服务器已启用密码鉴权
- [ mongoDB ] - 文档型数据库设计模式-如何存储树形数据 [转]
- 模式匹配和正则表达式_python
- 空间留言软件_锦州教育智慧云平台登录个人空间
- Dbgview - 签名无效
- chrome-功能指令
- 《思考力---引爆无限潜能》书摘(二)
- D3D9学习笔记之渲染状态关键字
- Java验证中文汉字、英文字母、标点符号一个字符占多少字节
- java 重写equals的要点_重写equals 方法的注意事项
- 「PS-CC2019新版教程」套索工具-基础篇
- 【docker】Mac下oracle10g下载安装
热门文章
- 如何修改WAMP中mysql默认空密码重新登录phpmyadmin
- 服务器上的一次删除文件操作
- 对request,session,application作用域形象理解
- vs2008 调试时不会命中断点,源代码与原始版本不同,解决办法
- ASP.NET MVC 视图(四)
- 用 普通 用户欺骗登陆 获取 管理员的最高权限~~~~
- 实践:《从头到脚撸一个多人视频聊天 — 前端 WebRTC 实战(一)》
- 转账给张三,钱却被李四收到,如何狙击凶险的 App 漏洞?——专访娜迦CTO玩命...
- 2017 4月25日下午
- Hibernate性能优化之EHCache缓存