From 046bee87a2eb60d4e864da2227ca581282fdd955 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Wed, 16 Mar 2011 12:56:03 +0900 Subject: [PATCH] Code cleanup --- src/json.h | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/json.h b/src/json.h index 97d00e94..932fe3a9 100644 --- a/src/json.h +++ b/src/json.h @@ -56,11 +56,7 @@ OutputStream& encode(OutputStream& out, const ValueBase* vlb) virtual void visit(const String& string) { - const std::string& s = string.s(); - std::string t = jsonEscape(s); - out_ << "\""; - out_.write(t.data(), t.size()); - out_ << "\""; + encodeString(string.s()); } virtual void visit(const Integer& integer) @@ -98,24 +94,25 @@ OutputStream& encode(OutputStream& out, const ValueBase* vlb) out_ << "{"; Dict::ValueType::const_iterator i = dict.begin(); if(!dict.empty()) { - std::string key = jsonEscape((*i).first); - out_ << "\""; - out_.write(key.data(), key.size()); - out_ << "\":"; + encodeString((*i).first); + out_ << ":"; (*i).second->accept(*this); ++i; for(Dict::ValueType::const_iterator eoi = dict.end(); i != eoi; ++i){ out_ << ","; - std::string key = jsonEscape((*i).first); - out_ << "\""; - out_.write(key.data(), key.size()); - out_ << "\":"; + encodeString((*i).first); + out_ << ":"; (*i).second->accept(*this); } } out_ << "}"; } private: + void encodeString(const std::string& s) + { + std::string t = jsonEscape(s); + out_ << "\"" << t << "\""; + } OutputStream& out_; }; JsonValueBaseVisitor visitor(out);