JSON还原为结构体
1)JSON字符串还原为结构体;
2)访问结构体的字段值;
本例运行效果图:
uses
json序列化原理、SynCommons;
const // JSON字符串
JSON1 =
'{' + #13#10 + '"glossary": {' + #13#10 + '"title": "中国",' + #13#10
+ '"GlossDiv": {' + #13#10
+ '"title": "湖南省",' + #13#10
go语言结构体和复杂json、+ '"GlossList": {' + #13#10
+ '"GlossEntry": {' + #13#10
+ '"ID": "湘乡市",' + #13#10
+ '"SortAs": "SGML",' + #13#10
+ '"GlossTerm": "Standard Generalized Markup Language",' + #13#10
+ '"Acronym": "SGML",' + #13#10
gson解析成jsonobject。+ '"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 + '}'
java结构体、+ #13#10 + '}' + #13#10
+ '}' + #13#10
+ '}' + #13#10
+ '}';
type // 记录
TGlossary = record
go json字符串 要一致、glossary: record
title: string;
GlossDiv: record
title: string;
GlossList: record
GlossEntry: record
c++结构体。ID, SortAs, GlossTerm, Acronym, Abbrev: string;
GlossDef: record
para: string;
GlossSeeAlso: array of string;
end;
GlossSee: string;
json结构体。end;
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
json数据结构?var
gloss: TGlossary;
json: RawUTF8;
begin
json := JSON1;
RecordLoadJSON(gloss, @json[1], TypeInfo(TGlossary));
c结构体转json字符串、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;
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态