Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: xinyiman - Gennaio 19, 2017, 01:44:27 pm

Titolo: (RISOLTO) problema json
Inserito da: xinyiman - Gennaio 19, 2017, 01:44:27 pm
Non capisco cosa sbaglio. Vorrei leggere il contenuto del record 1, nella fattispecie il campo descrizione. Ma va in errore. Il recordcount lo legge giusto. Il resto no. Cosa sbaglio?

Ho seguito questo link: http://freepascal.org/docs-html/current/fcl/fpjson/index.html


Codice: [Seleziona]

var
J, r, msg: TJSONData;
app:string;
I: integer;
begin
 

  app:=trim('{"RECORDCOUNT":7},{"RECORDSET":[{"IDTIPOANAGRAFICA":"1","DESCRIZIONE":"Cliente"},{"IDTIPOANAGRAFICA":"2","DESCRIZIONE":"Tecnico"},{"IDTIPOANAGRAFICA":"3","DESCRIZIONE":"Azienda"},{"IDTIPOANAGRAFICA":"4","DESCRIZIONE":"Fornitore"},{"IDTIPOANAGRAFICA":"5","DESCRIZIONE":"Vettore"},{"IDTIPOANAGRAFICA":"6","DESCRIZIONE":"Agente"},{"IDTIPOANAGRAFICA":"7","DESCRIZIONE":"Produttore"}]}');

  Memo1.Text:=app;
  try
    // Parse JSON Data to TJSONData
    J:=GetJSON(app);
    Memo2.Text:=J.FindPath('RECORDCOUNT').AsString;
    Memo2.Append(J.FindPath('RECORDSET[1].DESCRIZIONE').AsString);


  except
    on E: Exception do ShowMessage('Error finding path!');

  end;
end; 

Titolo: Re:problema json
Inserito da: xinyiman - Gennaio 19, 2017, 02:53:36 pm
Risolto cosė

Codice: [Seleziona]
app := trim('{"RECORDCOUNT":7, "RECORDSET":[{"IDTIPOANAGRAFICA_0":"1","DESCRIZIONE":"Cliente"},{"IDTIPOANAGRAFICA_1":"2","DESCRIZIONE":"Tecnico"},{"IDTIPOANAGRAFICA_2":"3","DESCRIZIONE":"Azienda"},{"IDTIPOANAGRAFICA_3":"4","DESCRIZIONE":"Fornitore"},{"IDTIPOANAGRAFICA_4":"5","DESCRIZIONE":"Vettore"},{"IDTIPOANAGRAFICA_5":"6","DESCRIZIONE":"Agente"},{"IDTIPOANAGRAFICA_6":"7","DESCRIZIONE":"Produttore"}]}');