TreeView na JSON i odwrotnie.

0

Jak skonwertować pozycje z komponentu TreeView do JSON.
Czyli Nagłówek sekcji, kilka podrzędnych, znowu nagłówek i kilka podrzędnych.
A później te dane trzeba odtworzyć.odtworzyć
Na razie mam tyle, ale nie wiem jak zróbić listę elementów podrzędnych do jednego nagłówka.

var obj : TJSONObject;
    nodeNaglowek, nodePodrzedny : TTMSFMXTreeViewNode;
    lista_podrzednych: TJSonArray;
    i,j : Byte;
begin

  try
   obj := TJSONObject.Create;

    for i := 0 to TMSFMXCheckedTreeView1.Nodes.Count - 1 do
    begin
       nodeNaglowek:=  TMSFMXCheckedTreeView1.Nodes.Items[i];


       obj.AddPair(TJSONPair.Create(nodeNaglowek.Values[i].Text, TJSONNumber.Create(nodeNaglowek.Tag)));

       lista_podrzednych:= TJSonArray.Create;
        for j := 0 to nodeNaglowek.Nodes.Count - 1 do
        begin
          nodePodrzedny := nodeNaglowek.Nodes.Items[j];
          lista_podrzednych.  AddElement(TJSONValue.Create(nodePodrzedny .Values[0].Text, TJSONNumber.Create(nodePodrzedny.Tag)));
        end;
        obj.AddPair(TJSONPair.Create(nodeNaglowek.Tag, lista_podrzednych));
    end;

  finally
   FreeAndNil(obj);
  end;

Ewentualnie to nie musi być JSON. Może być inny string;
P.S. Robię to na komponencie TMSFMXCheckedTreeView

0

śp. Pawel Glowacki prezentował taki kod http://edn.embarcadero.com/article/40882

0
{"Node 1 for Column 1:1":"lista_lamp:{Child Node 1:68,Child Node 2:70,Child Node 3:66,Child Node 4:25,Child Node 5:25}",
 "Node 2 for Column 1:2":"lista_lamp:{Child Node 1:42,Child Node 2:16,Child Node 3:18}",
 "Node 3 for Column 1:3":"lista_lamp:{}"}

na razie udało mi się zrobić taki JSON.
Ale wiem jag go teraz odczytać.

0

zmień język, według tego wątku straciłeś 5 dni na coś nad czym w ogóle nie powinieneś się zastanawiać i powinno Ci to zająć trzy linie kodu i dwadzieścia pięć sekund czasu

no ale pomogę - to co robisz nazywa się "serializacja" i analogicznie "deserializacja" i możesz wierzyć lub nie, ale pewnie już ktoś to przed Tobą napisał

google.com/search?q=delphi+TreeView+serialize+json

1 użytkowników online, w tym zalogowanych: 0, gości: 1