L'analyse JSON dans TListBox

Bonne soirée les gars!

Je suis en train d'essayer de mettre un CloudFlare client pour le bureau. Je l'ai connecté à leur API et extrait avec succès les résultats JSON avec une requête POST (dont les résultats ont été de sortie dans un TMemo). Je suis maintenant à vouloir analyser ces résultats dans un TListBox (voir la zone en caractères gras par exemple). Le projet est conçu dans Firemonkey.

Voici la mise en forme mise en page de la réponse avec des exemples de contenu;

{
 - response: {
   |- ips: [
      |- {
         ip: "xxx.xxx.xxx.xxx",
         classification: "threat",
         hits: xx,
         latitude: null,
         longitude: null,
         zone_name: "domain-example1"
         },
       - {
         ip: "yyy.yyy.yyy.yyy",
         classification: "robot",
         hits: yy,
         latitude: null,
         longitude: null,
         zone_name: "domain-example2"
         }
       ]
   }
  result : "success",
  msg: null
}

J'ai essayé plusieurs différentes composantes - SuperObject, Paweł Głowacki JSON moment de la Conception de l'Analyseur, Minuscule-JSON, LKJSON et les construit dans DBXJSON. Cependant, je n'ai aucune expérience avec JSON à tous et je n'arrive pas à trouver la plus élémentaire des exemples que je peux commencer à partir. Beaucoup d'entre eux montrent les données de l'échantillon, mais toutes celles que j'ai essayé ne semblent pas fonctionner comme je l'avais espérer, probablement parce que je suis un malentendu. Je suppose que tous les composants fonctionnent correctement, j'ai donc besoin de conseils sur la prise en main.

Il y a des centaines, souvent des milliers de résultats dans le ips "array" (je m'excuse si ce n'est pas correct, je suppose que c'est connu comme un tableau, mais encore une fois, je suis complètement nouveau pour JSON).

Ce que je suis vraiment à la recherche d'une sorte de très de base exemple de code qui permet de créer à partir d' (avec ce composant, il utilise pour l'analyse et l').

Par exemple, si je voulais prendre toutes les ip du JSON résultats, et de mettre chacun comme un élément distinct dans un TListBox (à l'aide de TListBox.add méthode), comment pourrais-je aller sur la réalisation de cet?

Quand je dis ip, je veux dire la valeur (dans la mise en forme mise en page ci-dessus, ce serait xxx.xxx.xxx.xxx ou yyy.yyy.yyy.yyy).

En outre, si je voulais trouver un "record" (?) par IP à partir du JSON résultats et de sortie les données de delphi tableau - par exemple;

Result : Array of String = ['"xxx.xxx.xxx.xxx"','"threat"','xx','null','null','"domain-example1"'];

est-ce possible avec JSON? (Si cela est perçu comme une question séparée ou trop indépendants, n'hésitez pas à le modifier plutôt que de fermer l'ensemble de la question).

Le plus proche je suis arrivé à ce qui n'a pas seulement l'ip, mais chaque morceau de données dans un autre TListItem (c'est à dire response, ips, ip, classification, xxx.xxx.xxx.xxx et tout le reste avait son propre élément, ainsi que plusieurs éléments vides entre chaque non-vide).

Je suis sûr que c'est extrêmement simple à faire, mais il y a tellement d'informations sur JSON que c'est un peu écrasante pour les personnes nouvelles dans le format.

Meilleures Salutations,
Scott Pritchard.

OriginalL'auteur Scott Pritchard | 2012-07-16