19 string s = defaultString;
24 if (json_object_object_get_ex(o, key.c_str(), &stringObject))
26 if (json_object_get_type(stringObject) == json_type_string)
28 s = json_object_get_string(stringObject);
44 string s = defaultString;
49 if (json_object_object_get_ex(o, outerKey.c_str(), &outerObject))
52 if (json_object_object_get_ex(outerObject, innerKey.c_str(), &innerObject))
54 if (json_object_get_type(innerObject) == json_type_string)
56 s = json_object_get_string(innerObject);
78 if (json_object_object_get_ex(o, key.c_str(), &intObject))
80 if (json_object_get_type(intObject) == json_type_int)
82 i = json_object_get_int(intObject);
103 if (json_object_object_get_ex(o, key.c_str(), &boolObject))
105 if (json_object_get_type(boolObject) == json_type_boolean)
107 b = json_object_get_boolean(boolObject);
123 vector<string> items;
125 if (json_object_object_get_ex(o, key.c_str(), &arrayObject))
127 if (json_object_get_type(arrayObject) == json_type_array)
129 int itemCount = json_object_array_length(arrayObject);
130 for (
int i = 0; i < itemCount; ++i)
132 json_object *item = json_object_array_get_idx(arrayObject, i);
133 if (json_object_get_type(item) == json_type_string)
134 items.push_back( json_object_get_string(item) );
147 for (vector<string>::iterator i = strings.begin(); i != strings.end(); ++i)
148 json_object_array_add(a, json_object_new_string(i->c_str()));