Home | Develop | Download | Contact
example_json_get.cpp

Programa para el testeo de las funciones.

Programa para el testeo de las funciones.Para compilar o código example_json_get.cpp:

g++ -static -o example_json_get example_json_get.cpp -lpdsramm

Para executar o programa:

./example_json_get

Retornando por consola:

{
        "arreglo-entero":[-3,5,7,8],
        "arreglo-json":
        [
                {
                        "cadena":"texto cualquiera",
                        "numero":7,
                        "real":11.12
                },
                {
                        "cadena":"texto cualquiera",
                        "numero":7,
                        "real":11.12
                }
        ],
        "arreglo-real":[-4.3,9.1],
        "arreglo-text":["kk","pp"],
        "cadena":"texto cualquiera",
        "child":
        {
                "cadena":"texto cualquiera",
                "numero":7,
                "real":11.12
        },
        "numero":7,
        "real":11.12
}


J.Get("cadena"):"texto cualquiera"
J.Integer("numero"):7
J.Real("real"):11.12
J.String("cadena"):texto cualquiera
J.JsonChild("child"):
{
        "cadena":"texto cualquiera",
        "numero":7,
        "real":11.12
}
J.ArrayI("arreglo-entero")[1]:5
J.ArrayR("arreglo-real")[1]:9.1
J.ArrayS("arreglo-text")[1]:pp
J.ArrayJ("arreglo-json")[1]:
{
        "cadena":"texto cualquiera",
        "numero":7,
        "real":11.12
}

J.LabelIsOfType("real","Integer"):      0
J.LabelIsOfType("numero","Integer"):    1



J2:
{
        "cadena":"texto cualquiera",
        "numero":123,
        "real":11.12
}

Código example_json_get.cpp:

#include <Pds/Ra>
Pds::Json get_json1(void)
{
Pds::Json J,J1;
J.Add("numero",7);
J.Add("real",11.12);
J.Add("cadena","texto cualquiera"); J1=J;
J.Add("child",J1);
J.Add("arreglo-entero",std::vector<long int>({-3,5,7,8}));
J.Add("arreglo-real" ,std::vector<double>({-4.3,9.1}));
J.Add("arreglo-text" ,std::vector<std::string>({"kk","pp"}));
J.Add("arreglo-json" ,std::vector<Pds::Json>({J1,J1}));
return J;
}
Pds::Json get_json2(void)
{
J2.Add("numero",7);
J2.Add("real",11.12);
J2.Add("cadena","texto cualquiera");
return J2;
}
int main(void)
{
Pds::Json J=get_json1();
J.Print();
std::cout<<"\n\n";
std::cout<<"J.Integer(\"numero\"):"
<<J.Integer("numero")<<"\n";
std::cout<<"J.Real(\"real\"):"
<<J.Real("real")<<"\n";
std::cout<<"J.String(\"cadena\"):"
<<J.String("cadena")<<"\n";
std::cout<<"J.JsonChild(\"child\"):"
<<J.JsonChild("child");
std::cout<<"J.ArrayI(\"arreglo-entero\")[1]:"
<<J.ArrayI("arreglo-entero")[1]<<"\n";
std::cout<<"J.ArrayR(\"arreglo-real\")[1]:"
<<J.ArrayR("arreglo-real")[1]<<"\n";
std::cout<<"J.ArrayS(\"arreglo-text\")[1]:"
<<J.ArrayS("arreglo-text")[1]<<"\n";
std::cout<<"J.ArrayJ(\"arreglo-json\")[1]:"
<<J.ArrayJ("arreglo-json")[1];
std::cout<<"\n";
std::cout<<"J.LabelIsOfType(\"real\",\"Integer\"):\t"
<<J.LabelIsOfType("real","Integer")<<"\n";
std::cout<<"J.LabelIsOfType(\"numero\",\"Integer\"):\t"
<<J.LabelIsOfType("numero","Integer")<<"\n";
std::cout<<"J.Get(\"cadena\"):"
<<J.Get("cadena");
std::cout<<"J.GetType(\"cadena\"):"
<<J.GetType("cadena");
std::cout<<"\n\n";
Pds::Json J2=get_json2();
J2.Integer("numero")=123;
J2.Print("\nJ2:\n");
return 0;
}
La clase tipo Pds::Json . Esta clase genera una estructura capaz de almacenar datos del formato Json....
Definition: Json.hpp:63
double & Real(const std::string &Label)
Retorna una referencia a un dato de tipo "Real" en el objeto de tipo Json.
std::vector< double > & ArrayR(const std::string &Label)
Retorna una referencia a un dato de tipo "ArrayR" en el objeto de tipo Json.
std::string & String(const std::string &Label)
Retorna una referencia a un dato de tipo "String" en el objeto de tipo Json.
bool LabelIsOfType(const std::string &Label, const std::string &Type) const
Dada una etiqueta, retorna true si el dato con etiqueta Label es de tipo Type o false si no.
std::vector< long int > & ArrayI(const std::string &Label)
Retorna una referencia a un dato de tipo "ArrayI" en el objeto de tipo Json.
std::vector< std::string > & ArrayS(const std::string &Label)
Retorna una referencia a un dato de tipo "ArrayS" en el objeto de tipo Json.
Pds::Json & JsonChild(const std::string &Label)
Retorna una referencia a un dato de tipo "Json" en el objeto de tipo Json.
void Print(void) const
Retorna un std::string con texto en formato Json.
Pds::JsonElement Get(const std::string &Label) const
Retorna un elemento en una estructura de tipo Json.
std::vector< Pds::Json > & ArrayJ(const std::string &Label)
Retorna una referencia a un dato de tipo "ArrayJ" en el objeto de tipo Json.
std::string GetType(const std::string &Label) const
Retorna el tipo del elemento en una estructura de tipo Json.
bool Add(const std::string &Label, const Pds::JsonElement &E)
Agrega un elementos Json a la estructura Json.
long int & Integer(const std::string &Label)
Retorna una referencia a un dato de tipo "Integer" en el objeto de tipo Json.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed