我使用德爾福XE2,我有這樣的JSON結構創造:問題創建一個使用超對象或正確的JSON文件DBXJSON
[
{
"Email": "[email protected]",
"MobileNumber": "",
"MobilePrefix": "",
"Name": "Laura",
"Fields": [
{
"Description": "nominativo",
"Id": "1",
"Value": "Laura"
},
{
"Description": "societa",
"Id": "2",
"Value": ""
},
{
"Description": "idcontatto",
"Id": "3",
"Value": "0"
}
]
},
{
"Email": "[email protected]",
"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'] := '[email protected]';
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'] := '[email protected]';
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');
做什麼你試試,它在哪裏不起作用?當詢問你編寫的代碼時,你需要包含相關的代碼,或者更好的SSCCE –
我已經編輯了問題並通過http://jsonlint.com/格式化了JSON,JSON將它驗證爲正確的JSON。 –
請顯示您的*代碼*。 – Roddy