Home | Develop | Download | Contact
example_json_get.cpp
1
79#include <Pds/Ra>
80
81Pds::Json get_json1(void)
82{
83 Pds::Json J,J1;
84
85 J.Add("numero",7);
86 J.Add("real",11.12);
87 J.Add("cadena","texto cualquiera"); J1=J;
88 J.Add("child",J1);
89
90 J.Add("arreglo-entero",std::vector<long int>({-3,5,7,8}));
91 J.Add("arreglo-real" ,std::vector<double>({-4.3,9.1}));
92 J.Add("arreglo-text" ,std::vector<std::string>({"kk","pp"}));
93 J.Add("arreglo-json" ,std::vector<Pds::Json>({J1,J1}));
94
95 return J;
96}
97
98Pds::Json get_json2(void)
99{
100 Pds::Json J2;
101
102 J2.Add("numero",7);
103 J2.Add("real",11.12);
104 J2.Add("cadena","texto cualquiera");
105
106 return J2;
107}
108int main(void)
109{
110 Pds::Json J=get_json1();
111
112 J.Print();
113
114 std::cout<<"\n\n";
115
116 std::cout<<"J.Integer(\"numero\"):"
117 <<J.Integer("numero")<<"\n";
118
119 std::cout<<"J.Real(\"real\"):"
120 <<J.Real("real")<<"\n";
121
122 std::cout<<"J.String(\"cadena\"):"
123 <<J.String("cadena")<<"\n";
124
125 std::cout<<"J.JsonChild(\"child\"):"
126 <<J.JsonChild("child");
127
128 std::cout<<"J.ArrayI(\"arreglo-entero\")[1]:"
129 <<J.ArrayI("arreglo-entero")[1]<<"\n";
130
131 std::cout<<"J.ArrayR(\"arreglo-real\")[1]:"
132 <<J.ArrayR("arreglo-real")[1]<<"\n";
133
134 std::cout<<"J.ArrayS(\"arreglo-text\")[1]:"
135 <<J.ArrayS("arreglo-text")[1]<<"\n";
136
137 std::cout<<"J.ArrayJ(\"arreglo-json\")[1]:"
138 <<J.ArrayJ("arreglo-json")[1];
139
140
141 std::cout<<"\n";
142
143 std::cout<<"J.LabelIsOfType(\"real\",\"Integer\"):\t"
144 <<J.LabelIsOfType("real","Integer")<<"\n";
145
146 std::cout<<"J.LabelIsOfType(\"numero\",\"Integer\"):\t"
147 <<J.LabelIsOfType("numero","Integer")<<"\n";
148
149 std::cout<<"J.Get(\"cadena\"):"
150 <<J.Get("cadena");
151
152 std::cout<<"J.GetType(\"cadena\"):"
153 <<J.GetType("cadena");
154
155 std::cout<<"\n\n";
156
157 Pds::Json J2=get_json2();
158
159 J2.Integer("numero")=123;
160 J2.Print("\nJ2:\n");
161
162 return 0;
163}
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