我正在使用 Delphi XE2,我有这个 json 结构要创建:
[
{
"Email": "laura@yyyy.com",
"MobileNumber": "",
"MobilePrefix": "",
"Name": "Laura",
"Fields": [
{
"Description": "nominativo",
"Id": "1",
"Value": "Laura"
},
{
"Description": "societa",
"Id": "2",
"Value": ""
},
{
"Description": "idcontatto",
"Id": "3",
"Value": "0"
}
]
},
{
"Email": "paolo@xxxx.com",
"MobileNumber": "",
"MobilePrefix": "",
"Name": "Paolo",
"Fields": [
{
"Description": "nominativo",
"Id": "1",
"Value": "Paolo"
},
{
"Description": "societa",
"Id": "2",
"Value": ""
},
{
"Description": "idcontatto",
"Id": "3",
"Value": "1"
}
]
}
]
我用超级对象做了几次测试,但还没有得到正确的结果,因为我得到的数组的第一个元素等于第二个。我的困难在于迭代和优化。这是我正在处理的代码:。
json := TSuperObject.Create;
jsonArray:= TSuperObject.Create(stArray);
json.S['Email'] := 'laura@yyyy.com';
json.S['MobileNumber'] := '';
json.S['MobilePrefix'] := '';
json.S['Name'] := 'Laura';
json['Fields'] := SA([]);
json_Fields:=SO;
json_Fields.S['Description']:='nominativo';
json_Fields.S['Id']:='1';
json_Fields.S['Value']:='Laura';
json.A['Fields'].Add(json_Fields);
json_Fields:=SO;
json_Fields.S['Description']:='societa';
json_Fields.S['Id']:='2';
json_Fields.S['Value']:='';
json.A['Fields'].Add(json_Fields);
//......other fields
JsonArray.AsArray.Add(json);
json.S['Email'] := 'paolo@xxxx.com';
json.S['MobileNumber'] := '';
json.S['MobilePrefix'] := '';
json.S['Name'] := 'Paolo';
json['Fields'] := SA([]);
json_Fields:=SO;
json_Fields.S['Description']:='nominativo';
json_Fields.S['Id']:='1';
json_Fields.S['Value']:='Paolo';
json.A['Fields'].Add(json_Fields);
json_Fields:=SO;
json_Fields.S['Description']:='societa';
json_Fields.S['Id']:='2';
json_Fields.S['Value']:='';
json.A['Fields'].Add(json_Fields);
//......other fields
JsonArray.AsArray.Add(json);
jsonArray.SaveTo('json_mu.txt');