2
以下是我的JSON:德尔福解析与多个数组类型的Json?
{
"forms": {
"frmLogin": [
{
"frmLoginPg": "Se connecter - Application de gestion de PC"
},
{
"lbl_login_Title": "Application de gestion Pc"
},
{
"lbl_loginName": "Nom d'utilisateur"
},
{
"lblLanguage": "langue préférée"
},
{
"btnLogin": "Se connecter"
},
{
"btnReset_Loginfrm": "Réinitialiser"
}
],
"frmHome": [
{
"frmHomepg": "Accueil"
},
{
"lbladdUser_Title": "Ajouter un utilisateur"
},
{
"lblName": "prénom"
},
{
"lblEmail": "EMail"
},
{
"popmemFile": "Fichier"
}
]
}
}
我试图让分配给每个键,以便我可以改变每个组件的Caption
值。
我尝试以下方法,但我得到一个错误Invalid class typecast
:
function Translationspg.GetTranslationsJson(formNameJson, frmName_FORMJson
: TComponentName; formsam: TForm): string;
var
lJsonBytes: TBytes;
lJsonVal, lJsonScenar: TJSONValue;
lJsonScenarioValue: string; // lJsonString,
lJsonObj: TJSONObject; // , lJsonScenario
lJsonArray: TJSONArray;
lJsonScenarioEntry: TJSOnString;
lJsonPair: TJSONPair;
begin
lJsonBytes := TFile.ReadAllBytes(scJSONFileName_French);
lJsonScenar := TJSONObject.ParseJSONValue(lJsonBytes, 0);
if lJsonScenar <> nil then
begin
lJsonArray := lJsonScenar as TJSONArray;
for lJsonVal in lJsonArray do
begin
lJsonObj := lJsonVal as TJSONObject;
lJsonPair := lJsonObj.Get(formNameJson);
lJsonScenarioEntry := lJsonPair.JsonString;
lJsonScenarioValue := lJsonScenarioEntry.Value;
end;
end;
Result := lJsonScenarioValue;
end;