qjson.c (7e0019a7196ebed177c95824875cf852e1a6f667) | qjson.c (7dc847ebba953db90853d15f140c20eef74d4fb2) |
---|---|
1/* 2 * QObject JSON integration 3 * 4 * Copyright IBM, Corp. 2009 5 * 6 * Authors: 7 * Anthony Liguori <aliguori@us.ibm.com> 8 * --- 123 unchanged lines hidden (view full) --- 132 133static void to_json(const QObject *obj, QString *str, int pretty, int indent) 134{ 135 switch (qobject_type(obj)) { 136 case QTYPE_QNULL: 137 qstring_append(str, "null"); 138 break; 139 case QTYPE_QNUM: { | 1/* 2 * QObject JSON integration 3 * 4 * Copyright IBM, Corp. 2009 5 * 6 * Authors: 7 * Anthony Liguori <aliguori@us.ibm.com> 8 * --- 123 unchanged lines hidden (view full) --- 132 133static void to_json(const QObject *obj, QString *str, int pretty, int indent) 134{ 135 switch (qobject_type(obj)) { 136 case QTYPE_QNULL: 137 qstring_append(str, "null"); 138 break; 139 case QTYPE_QNUM: { |
140 QNum *val = qobject_to_qnum(obj); | 140 QNum *val = qobject_to(QNum, obj); |
141 char *buffer = qnum_to_string(val); 142 qstring_append(str, buffer); 143 g_free(buffer); 144 break; 145 } 146 case QTYPE_QSTRING: { | 141 char *buffer = qnum_to_string(val); 142 qstring_append(str, buffer); 143 g_free(buffer); 144 break; 145 } 146 case QTYPE_QSTRING: { |
147 QString *val = qobject_to_qstring(obj); | 147 QString *val = qobject_to(QString, obj); |
148 const char *ptr; 149 int cp; 150 char buf[16]; 151 char *end; 152 153 ptr = qstring_get_str(val); 154 qstring_append(str, "\""); 155 --- 40 unchanged lines hidden (view full) --- 196 } 197 }; 198 199 qstring_append(str, "\""); 200 break; 201 } 202 case QTYPE_QDICT: { 203 ToJsonIterState s; | 148 const char *ptr; 149 int cp; 150 char buf[16]; 151 char *end; 152 153 ptr = qstring_get_str(val); 154 qstring_append(str, "\""); 155 --- 40 unchanged lines hidden (view full) --- 196 } 197 }; 198 199 qstring_append(str, "\""); 200 break; 201 } 202 case QTYPE_QDICT: { 203 ToJsonIterState s; |
204 QDict *val = qobject_to_qdict(obj); | 204 QDict *val = qobject_to(QDict, obj); |
205 206 s.count = 0; 207 s.str = str; 208 s.indent = indent + 1; 209 s.pretty = pretty; 210 qstring_append(str, "{"); 211 qdict_iter(val, to_json_dict_iter, &s); 212 if (pretty) { 213 int j; 214 qstring_append(str, "\n"); 215 for (j = 0 ; j < indent ; j++) 216 qstring_append(str, " "); 217 } 218 qstring_append(str, "}"); 219 break; 220 } 221 case QTYPE_QLIST: { 222 ToJsonIterState s; | 205 206 s.count = 0; 207 s.str = str; 208 s.indent = indent + 1; 209 s.pretty = pretty; 210 qstring_append(str, "{"); 211 qdict_iter(val, to_json_dict_iter, &s); 212 if (pretty) { 213 int j; 214 qstring_append(str, "\n"); 215 for (j = 0 ; j < indent ; j++) 216 qstring_append(str, " "); 217 } 218 qstring_append(str, "}"); 219 break; 220 } 221 case QTYPE_QLIST: { 222 ToJsonIterState s; |
223 QList *val = qobject_to_qlist(obj); | 223 QList *val = qobject_to(QList, obj); |
224 225 s.count = 0; 226 s.str = str; 227 s.indent = indent + 1; 228 s.pretty = pretty; 229 qstring_append(str, "["); 230 qlist_iter(val, (void *)to_json_list_iter, &s); 231 if (pretty) { 232 int j; 233 qstring_append(str, "\n"); 234 for (j = 0 ; j < indent ; j++) 235 qstring_append(str, " "); 236 } 237 qstring_append(str, "]"); 238 break; 239 } 240 case QTYPE_QBOOL: { | 224 225 s.count = 0; 226 s.str = str; 227 s.indent = indent + 1; 228 s.pretty = pretty; 229 qstring_append(str, "["); 230 qlist_iter(val, (void *)to_json_list_iter, &s); 231 if (pretty) { 232 int j; 233 qstring_append(str, "\n"); 234 for (j = 0 ; j < indent ; j++) 235 qstring_append(str, " "); 236 } 237 qstring_append(str, "]"); 238 break; 239 } 240 case QTYPE_QBOOL: { |
241 QBool *val = qobject_to_qbool(obj); | 241 QBool *val = qobject_to(QBool, obj); |
242 243 if (qbool_get_bool(val)) { 244 qstring_append(str, "true"); 245 } else { 246 qstring_append(str, "false"); 247 } 248 break; 249 } --- 22 unchanged lines hidden --- | 242 243 if (qbool_get_bool(val)) { 244 qstring_append(str, "true"); 245 } else { 246 qstring_append(str, "false"); 247 } 248 break; 249 } --- 22 unchanged lines hidden --- |