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还原为结构体相关推荐

  1. json 潜逃 结构体_JSON还原为结构体 - osc_t5zhwnvx的个人空间 - OSCHINA - 中文开源技术交流社区...

    JSON还原为结构体 1)JSON字符串还原为结构体: 2)访问结构体的字段值: 本例运行效果图: uses SynCommons; const // JSON字符串 JSON1 = '{' + #1 ...

  2. Go 学习笔记(14)— 结构体定义、实例化、初始化、匿名结构体、结构体访问、结构体作为形参、结构体指针

    Go 语言中没有 "类" 的概念,也不支持 "类" 的继承等面向对象的概念.Go 语言不仅认为结构体能拥有方法,且每种自定义类型也可以拥有自己的方法. 1. 结 ...

  3. 【DBMS 数据库管理系统】OLAP 核心技术 : 数据方体 ( 数据方体 | 数据方体格结构 | 数据单元 )

    文章目录 一.数据方体 二.数据方体 格结构 ( 参考 ) 三.数据单元 一.数据方体 数据方体 简介 : "数据方体" 概念 : 多维数据模型 构成的 多维数据空间 称为 &qu ...

  4. Golang结构体struct的使用(结构体嵌套, 匿名结构体等)

    转自: https://studygolang.com/articles/11313 golang中是没有class的,但是有一个结构体struct,有点类似,他没有像java,c++中继承的概念,但 ...

  5. c语言怎么判定结构体有无数据,C语言中什么是结构体,怎么定义结构体。

    为什么要用结构体? 没有结构体之前,C语言中,数据的组织依靠:变量+数组.最初最简单的时候,只需要使用基本数据类型来定义单个变量,需要几个就定义几个,后来有时候需要很多意义相关的变量这时候数组出现了. ...

  6. 结构体引用_C/C++结构体完全攻略

    结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值.在过去,面向对象编程的应用尚未普及之前,程序员通常使用这些从逻辑上连接在一起的数据组合到一个单元中.一旦结构体类型被声明并且其数据成员被标 ...

  7. linux内核重要结构体,Linux中list_head结构体相关 | 技术部落

    在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head.虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作li ...

  8. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  9. c 结构体转byte_C中结构体和字节流的互换及内存对齐

    mystruct p; char buff[50]; memcpy(buff,&p,sizeof(p)); //把p的内容以字节形式拷贝到buff中 mystruct* q; q = (mys ...

最新文章

  1. 收到2013年51cto限量版精美台历
  2. bmp类型转成Halcon的Hobject类型
  3. python安装成功第三方库但import出问题_为什么会在pyspark在RDD中调用python第三方库失败?...
  4. springer grammar revise tool
  5. java dog类型_java泛型中?和T有什么区别?
  6. Java Virtual Machine Stacks(虚拟机栈)
  7. linux 监听日志_Linux系统取证概述
  8. bat脚本 -- 初步接触
  9. 管理系统统一鉴权服务器,确认服务器已启用密码鉴权
  10. [ mongoDB ] - 文档型数据库设计模式-如何存储树形数据 [转]
  11. 模式匹配和正则表达式_python
  12. 空间留言软件_锦州教育智慧云平台登录个人空间
  13. Dbgview - 签名无效
  14. chrome-功能指令
  15. 《思考力---引爆无限潜能》书摘(二)
  16. D3D9学习笔记之渲染状态关键字
  17. Java验证中文汉字、英文字母、标点符号一个字符占多少字节
  18. java 重写equals的要点_重写equals 方法的注意事项
  19. 「PS-CC2019新版教程」套索工具-基础篇
  20. 【docker】Mac下oracle10g下载安装

热门文章

  1. 如何修改WAMP中mysql默认空密码重新登录phpmyadmin
  2. 服务器上的一次删除文件操作
  3. 对request,session,application作用域形象理解
  4. vs2008 调试时不会命中断点,源代码与原始版本不同,解决办法
  5. ASP.NET MVC 视图(四)
  6. 用 普通 用户欺骗登陆 获取 管理员的最高权限~~~~
  7. 实践:《从头到脚撸一个多人视频聊天 — 前端 WebRTC 实战(一)》
  8. 转账给张三,钱却被李四收到,如何狙击凶险的 App 漏洞?——专访娜迦CTO玩命...
  9. 2017 4月25日下午
  10. Hibernate性能优化之EHCache缓存