Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- class Serializer {
- public:
- virtual void BeginArray() {}
- virtual void EndArray() {}
- virtual void AddArrayItem(const std::string&) {}
- virtual ~Serializer() {}
- };
- class JsonSerializer : public Serializer {
- public:
- bool start = 0;
- bool closelast = 0;
- void BeginArray() override {
- if (closelast)
- std::cout << ',';
- closelast = 0;
- start = 1;
- std::cout << '[';
- }
- void AddArrayItem(const std::string& s) override {
- closelast = 0;
- if (start) {
- start = 0;
- std::cout << '"' << s << '"';
- } else {
- std::cout << ',' << '"' << s << '"';
- }
- }
- void EndArray() override {
- start = 0;
- std::cout << ']';
- closelast = 1;
- }
- };
- // int main() {
- // using namespace std;
- // JsonSerializer a;
- // string s;
- // while (cin >> s) {
- // if (s[0] == 'B')
- // a.BeginArray();
- // if (s[0] == 'E')
- // a.EndArray();
- // if (s[0] == 'A') {
- // string s1;
- // cin >> s1;
- // a.AddArrayItem(s1);
- // }
- // }
- // }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement