数据集和json相互转换

朝闻道      2022-02-11     221

关键词:

使用DELPHI原生类实现数据集和JSON相互转换

JSON二要素:数组和对象。对象可以包含数组,数组可以包含对象。无层数限制。OLEVARIANT也类似,OLEVARIANT的一个元素又可以是OLEVARIANT,且无层数限制。XML亦类似。这也是它们能序列一切对象的奥秒所在。
JSON就是字符串,定义好序列后的字符串格式,甚至都不需要啥JSON类库,就可以自行组装JSON字符串和解析JSON字串获取数据。

USES System.JSON

1)数据集转换为JSON字符串:

function TForm1.DataSetToJson(ADataset: TDataSet): string;
// [{"CityId":"18","CityName":"西安"},{"CityId":"53","CityName":"广州"}]
var
LRecord: string;
LField: TField;
i: integer;
begin
Result := ‘‘;
if (not ADataset.Active) or (ADataset.IsEmpty) then
Exit;
Result := ‘[‘;
ADataset.DisableControls;
ADataset.First;
while not ADataset.Eof do
begin
for i := 0 to ADataset.FieldCount - 1 do
begin
LField := ADataset.Fields[i];
if LRecord = ‘‘ then
LRecord := ‘{"‘ + LField.FieldName + ‘":"‘ + LField.Text + ‘"‘
else
LRecord := LRecord + ‘,"‘ + LField.FieldName + ‘":"‘ + LField.Text + ‘"‘;
if i = ADataset.FieldCount - 1 then
begin
LRecord := LRecord + ‘}‘;
if Result = ‘[‘ then
Result := Result + LRecord
else
Result := Result + ‘,‘ + LRecord;
LRecord := ‘‘;
end;
end;
ADataset.Next;
end;
ADataset.EnableControls;
Result := Result + ‘]‘;
end;

2)JSON字符串转换为数据集:

procedure TForm1.JsonToDataSet(AJson: string; ADataset: TDataSet);
var
jDataSet: TJSONArray;
jRecord: TJSONObject;
i, j: Integer;
begin
if (AJson = ‘‘) or (ADataset = nil) or (not ADataset.Active) then
Exit;
jDataSet := TJSONObject.Create.ParseJSONValue(AJson, True) as TJSONArray;
while not ADataset.Eof do
ADataset.Delete;
for i := 0 to jDataSet.Size - 1 do
begin
ADataset.Append;
jRecord := jDataSet.Get(i) as TJSONObject;
for j := 0 to ADataset.FieldCount - 1 do
ADataset.Fields[j].Text := jRecord.GetValue(ADataset.Fields[j].FieldName).ToString;
ADataset.Post;
end;
end;

http://blog.csdn.net/zisongjia/article/details/72675886

json与java数据的相互转换

importnet.sf.json.JSONArray;importnet.sf.json.JSONException;importnet.sf.json.JSONObject;importnet.sf.json.JSONSerializer;/***json对象转换为java对象**@throwsJSONException*/@TestpublicvoidjsonToJava(){Stringj 查看详情

mui:字符串和json数据的相互转换

JSON.parse()--字符串转换json、JSON.stringify()--json转换成字符串 如:收到Json对象:response,则:{"result":"aaa","bbb","ccc"}1.response=JSON.stringify(response);respnoseEl.innerHTML=response;   //则会显示js 查看详情

abap内表数据与json串相互转换

DATA:json_serTYPEREFTOCL_TREX_JSON_SERIALIZER,json_desTYPEREFTOCL_TREX_JSON_DESERIALIZER.DATA:jsonstrTYPEstring.CREATEOBJECTjson_serEXPORTINGdata=itab[].CALLMETHODjson_ser->SERIALIZE.CALLMETHODjson 查看详情

python和json数据相互转换,repr和eval()使用

python数据转换jsonimportjson#导入json包data=[{"id":1,"username":"zhangshan","password":"123qwe","lock":True},{"id":2,"username":"lisi","password":"123qwe","lock":True},{"id":3,"username":"wangwu","password": 查看详情

json与avro数据文件的相互转换(代码片段)

嵌套的JSON数据与AVRO文件的相互转换JSON是一种常用的数据交换格式,很多系统都会使用JSON作为数据接口返回的数据格式,然而,由于JSON数据中包含大量的字段名字,导致空间的严重浪费,尤其是数据文件较大... 查看详情

python对象与json相互转换的方法

在网络通信中,json是一种常用的数据格式,对于python来讲,将类转化为json数据以及将json数据转化为对象是一件非常容易的事情。下面给出两者转化的方法?12345678910111213141516171819202122232425262728293031323334353637#-*-coding:UTF-8-*-importjson&... 查看详情

json字符串与json对象的相互转换

...cript对象表示法(JavaScriptObjectNotation)JSON是轻量级的文本数据交换格式JSON独立于语言*JSON具有自我描述性,更易理解*JSON使用JavaScript语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语... 查看详情

javascriptjson字符串与对象相互转换

...函数:JSON.stringify()和JSON.parse()。  使用ajax向后台请求数据,后台给前端返回数据,明明后端脚本写的是json函数处理后的json格式,但是前端接收数据时,却时而是object,时而是字符串,令人百思不得其解。具体原因我还不是... 查看详情

list和json的相互转换

项目中向数据库中存一个Sting字符串,这个字符串是用其他字符串拼接成的,这样从设计的角度看是不好的,这时可以用list把字符串存进去,然后转成json字符串,再存到数据库,若要取出来用的时候,就可以取出来后再转成list&... 查看详情

java对象数据与json对象数据之间的相互转换(fastjson)(代码片段)

Java对象或集合数据与JSON格式数据之间的转换1、JSON是什么2、JSON数据格式对照3、主流JSON库对比3.1、json-lib【不推荐使用】3.2、Jackson【根据场景使用】3.3、Gson【根据场景使用】3.4、FastJson【根据场景使用】4、FastJson常用的JSON格式... 查看详情

golangbasic_leaming结构体和json相互转换序列化反序列化(代码片段)

阅读目录一、关于JSON数据二、结构体与JSON序列化1、结构体对象转化成Json字符串2、Json字符串转换成结构体对象三、结构体标签Tag四、嵌套结构体和JSON序列化反序列化一、关于JSON数据JSON(JavaScriptObjectNotation)是一种轻量级的数据... 查看详情

golangbasic_leaming结构体和json相互转换序列化反序列化(代码片段)

阅读目录一、关于JSON数据二、结构体与JSON序列化1、结构体对象转化成Json字符串2、Json字符串转换成结构体对象三、结构体标签Tag四、嵌套结构体和JSON序列化反序列化一、关于JSON数据JSON(JavaScriptObjectNotation)是一种轻量级的数据... 查看详情

【golang】结构体与json相互转换,map与json相互转换

参考技术A运行结果:运行结果:运行结果:运行结果: 查看详情

javascript之json[4]parse()和stringify()-json字符串和javascript对象数据之间的相互转换

JavaScript之JSON[4]parse()和stringify()-JSON字符串和JavaScript对象数据之间的相互转换1、JSON.parse()JSON.parse()方法用于将一个JSON字符串解析为一个JavaScript对象。JSON字符串必须使用双引号包括属性名和字符串值,不能使用单引号或无引号。... 查看详情

js中字符串和json数组的相互转换

//示例vara={"name":"tom","sex":"男","age":"24"};//向数据库存储时传参数a时,直接这样传会存为object//json数组转化为字符串的方法varaa=JSON.stringify(a)这样转化一下就会存为字符串了  查看详情

javascript-问题集-含function的json对象与json字符串之间相互转换

基本的转换为:JSON.parse与JSON.stringify。但是json数据中含function,则转换后,function会丢失,如:varjson={test:‘test‘,login:function(){alert("login")}} 经JSON.stringify后,login丢失。varjson={test:‘test‘}JSON.parse,结果一样。正确处理方法: 查看详情

前台json对象转换成字符串相互转换的几种方式

   在最近的工作中,使用到JSON进行数据的传递,特别是从前端传递到后台,前台可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,后台使用request进行接收。有时传递了几... 查看详情

json的string字符串与java的list列表对象的相互转换

...端:1.如果json是List对象转换的,可以直接遍历json,读取数据。2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示:varjsonStr=JSON.stringify(list);varparam={};param.jsonStr=jsonStr;在后台:1.把String转换为L... 查看详情