48    inline std::ostream& 
operator()(std::ostream& out, 
const JSON::json& js, 
const std::string& key)
 const 
   54      if (pos != string::npos) {
 
   56        if (js[key.substr(0, pos)].is_array()) {
 
   58          for (
const auto& element : js[key.substr(0, pos)]) {
 
   59            (*this)(out, element, key.substr(pos + 1));
 
   64          (*this)(out, js[key.substr(0, pos)], key.substr(pos + 1));
 
   67      } 
else if (key != 
"") {
 
   71        out << setw(
WIDTH) << js[key.substr(0, pos)] << 
' ';
 
   73        if (pos != string::npos)
 
   74          (*this)(out, js, key.substr(pos + 1));
 
   80        out << setw(
WIDTH) << js << endl;