Comment analyser un tableau JSON dans RAd Studio?
Je suis en train d'analyser les suivantes document Json:
[
{"EventType":49,"Code":"234","EventDate":"20050202", "Result":1},
{"EventType":48,"Code":"0120","EventDate":"20130201", "Group":"g1"}
]
J'utilise le code suivant:
TJSONObject* jsonread0 = (TJSONObject*) TJSONObject::ParseJSONValue(TEncoding::ASCII->GetBytes(Memo1->Lines->Text), 0);
for(int i=0;i<jsonread0->Size();i++)
{
TJSONPair* pair = jsonread0->Get(i);
À ce point, pair.JsonValue
est NULL. Que dois-je faire pour lire les valeurs?
OriginalL'auteur Dabiel Kabuto | 2013-02-13
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas un moulage de la Chaîne JSON correctement, vous devez jeter un TJSONArray et puis itérer sur les éléments.
essayez ces échantillons
Delphi
C++ Builder
Ce sera le retour de
dynamic_cast
etas
) auraient exposé de telles erreurs au moment de l'exécution et de la compilation, respectivement. Ce code utilise les mêmes techniques qu'à l'origine du problème.OriginalL'auteur RRUZ
dbExpress parser JSON a été dit d'être lourds et parfois problématique.
Peut-être vous pouvez choisir certains de le nombre de la 3e partie des analyseurs, par exemple, cela montre la lecture de tableau: http://code.google.com/p/superobject/wiki/first_steps
OriginalL'auteur Arioch 'The
Vous avez une défaillance de type plâtre, de sorte que ce que vous voyez est un comportement indéfini. Un résultat nul est juste un de nombreux résultats possibles, vous pouvez attendre de ce code. Le
ParseJSONValue
fonction dans ce cas doit retourner unTJsonArray
, pas unTJsonObject
. Bien que les deux classes ontGet
méthodes, ils ne sont pas interchangeables.Du tableau
Get
méthode retourne unTJsonValue
, pas unTJsonPair
. Pour ce type particulier de données, vous pouvez saisir-convertir la valeurTJsonObject
parce que vos données représente un tableau de deux objets.Utilisation
dynamic_cast
ou Delphias
opérateur de cast d'une classe à l'autre.OriginalL'auteur Rob Kennedy
vous pouvez obtenir un tableau à partir d'une chaîne JSON également à l'aide de la JSonCBuilderBlog Bibliothèque C++Builder (gratuit et open source):
La syntaxe est très simple, voir le lien suivant à titre de référence: JSONCBuilderBlog bibliothèque.
OriginalL'auteur AngeloDM