| 8 | |
| 9 | template<typename T> |
| 10 | bool deserialize(json& j, T& o, string* err = NULL) { |
| 11 | if (!j.finish()) |
| 12 | { |
| 13 | if (err) |
| 14 | err->append("json not complete yet!"); |
| 15 | return false; |
| 16 | } |
| 17 | |
| 18 | std::pair<bool, std::string> r = gson(j.get_root(), o); |
| 19 | if (r.first == false) |
| 20 | { |
| 21 | if (err) |
| 22 | err->format_append("deserialize error=%s, json=[%s]", |
| 23 | r.second.c_str(), j.to_string().c_str()); |
| 24 | return false; |
| 25 | } |
| 26 | |
| 27 | return true; |
| 28 | } |
| 29 | |
| 30 | template<typename T> |
| 31 | void serialize(T& o, string& buf) { |