Programa para el testeo de las funciones.
{
"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
}
#include <Pds/Ra>
{
J.
Add(
"cadena",
"texto cualquiera"); J1=J;
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;
}
{
J2.
Add(
"cadena",
"texto cualquiera");
return J2;
}
int main(void)
{
std::cout<<"\n\n";
std::cout<<"J.Integer(\"numero\"):"
std::cout<<"J.Real(\"real\"):"
std::cout<<"J.String(\"cadena\"):"
std::cout<<"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"
std::cout<<"J.LabelIsOfType(\"numero\",\"Integer\"):\t"
std::cout<<"J.Get(\"cadena\"):"
std::cout<<"J.GetType(\"cadena\"):"
std::cout<<"\n\n";
return 0;
}
La clase tipo Pds::Json . Esta clase genera una estructura capaz de almacenar datos del formato Json....
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.