if pt::Space has FT::json type then let JSONExpression serialize it as json and not string
This commit is contained in:
parent
c25a5d2215
commit
48d515ea64
|
@ -99,6 +99,24 @@ void JSONExpression::after_field_value_string(const FT & field_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void JSONExpression::before_field_value(const pt::Space &, const FT & field_type)
|
||||||
|
{
|
||||||
|
if( field_type.is_space() )
|
||||||
|
{
|
||||||
|
before_field_value_string(field_type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void JSONExpression::after_field_value(const pt::Space &, const FT & field_type)
|
||||||
|
{
|
||||||
|
if( field_type.is_space() )
|
||||||
|
{
|
||||||
|
after_field_value_string(field_type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void JSONExpression::put_name_value_separator()
|
void JSONExpression::put_name_value_separator()
|
||||||
{
|
{
|
||||||
(*out_stream) << ':';
|
(*out_stream) << ':';
|
||||||
|
@ -130,4 +148,20 @@ void JSONExpression::esc(char val, pt::TextStream & stream, const FT & field_typ
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void JSONExpression::esc(const pt::Space & space, pt::TextStream & stream, const FT & field_type)
|
||||||
|
{
|
||||||
|
bool pretty_print = field_type.is_pretty_print();
|
||||||
|
|
||||||
|
if( field_type.is_space() )
|
||||||
|
{
|
||||||
|
pt::WTextStream tmp_stream;
|
||||||
|
space.serialize_to_space_stream(tmp_stream, pretty_print);
|
||||||
|
BaseExpression::esc(tmp_stream, stream, field_type);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
space.serialize_to_json_stream(stream, pretty_print);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,6 +73,10 @@ private:
|
||||||
|
|
||||||
void before_field_value_string(const FT & field_type);
|
void before_field_value_string(const FT & field_type);
|
||||||
void after_field_value_string(const FT & field_type);
|
void after_field_value_string(const FT & field_type);
|
||||||
|
void before_field_value(const pt::Space &, const FT & field_type);
|
||||||
|
void after_field_value(const pt::Space &, const FT & field_type);
|
||||||
|
|
||||||
|
void esc(const pt::Space & space, pt::TextStream & stream, const FT & field_type);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue