Robustified stream/protocol related API calls

This commit is contained in:
Thulinma 2017-05-09 11:31:24 +02:00
parent 04e0dfeab0
commit 0e0da824f7
4 changed files with 30 additions and 0 deletions

View file

@ -1294,6 +1294,20 @@ void JSON::Value::removeMember(const std::map<std::string, Value*>::iterator & i
objVal.erase(it);
}
void JSON::Value::removeNullMembers(){
bool again = true;
while (again){
again = false;
jsonForEach(*this, m){
if (m.key().size() && m->isNull()){
removeMember(m.key());
again = true;
break;
}
}
}
}
/// For object JSON::Value objects, returns true if the
/// given name is a member. Returns false otherwise.
bool JSON::Value::isMember(const std::string & name) const {

View file

@ -84,6 +84,7 @@ namespace JSON {
void removeMember(const std::string & name);
void removeMember(const std::deque<Value*>::iterator & it);
void removeMember(const std::map<std::string, Value*>::iterator & it);
void removeNullMembers();
bool isMember(const std::string & name) const;
bool isInt() const;
bool isString() const;