Add the ability to remove surrounding braces from the JSON formatter.

This commit is contained in:
Seth Hall 2015-02-13 22:02:54 -05:00
parent 212368b245
commit b00bd7702f
2 changed files with 13 additions and 3 deletions

View file

@ -15,7 +15,7 @@
using namespace threading::formatter; using namespace threading::formatter;
JSON::JSON(MsgThread* t, TimeFormat tf) : Formatter(t) JSON::JSON(MsgThread* t, TimeFormat tf) : Formatter(t), surrounding_braces(true)
{ {
timestamps = tf; timestamps = tf;
} }
@ -27,7 +27,8 @@ JSON::~JSON()
bool JSON::Describe(ODesc* desc, int num_fields, const Field* const * fields, bool JSON::Describe(ODesc* desc, int num_fields, const Field* const * fields,
Value** vals) const Value** vals) const
{ {
desc->AddRaw("{"); if ( surrounding_braces )
desc->AddRaw("{");
for ( int i = 0; i < num_fields; i++ ) for ( int i = 0; i < num_fields; i++ )
{ {
@ -41,7 +42,8 @@ bool JSON::Describe(ODesc* desc, int num_fields, const Field* const * fields,
return false; return false;
} }
desc->AddRaw("}"); if ( surrounding_braces )
desc->AddRaw("}");
return true; return true;
} }
@ -217,3 +219,8 @@ threading::Value* JSON::ParseValue(const string& s, const string& name, TypeTag
GetThread()->Error("JSON formatter does not support parsing yet."); GetThread()->Error("JSON formatter does not support parsing yet.");
return NULL; return NULL;
} }
void JSON::SurroundingBraces(bool use_braces)
{
surrounding_braces = use_braces;
}

View file

@ -27,8 +27,11 @@ public:
threading::Value** vals) const; threading::Value** vals) const;
virtual threading::Value* ParseValue(const string& s, const string& name, TypeTag type, TypeTag subtype = TYPE_ERROR) const; virtual threading::Value* ParseValue(const string& s, const string& name, TypeTag type, TypeTag subtype = TYPE_ERROR) const;
void SurroundingBraces(bool use_braces);
private: private:
TimeFormat timestamps; TimeFormat timestamps;
bool surrounding_braces;
}; };
}} }}