比方說,我有它返回一個JSON對象下面的方案REST服務:實施模型,結構與類
{
"id" : 1
"name" : "Peter"
"age" : 25
}
我有一個應用程序寫在接收到該對象和反序列化以備後用C++ 。我需要一個數據結構來存儲對象。
我可以實現使用一個結構:
struct person
{
int id;
string name;
int age;
};
並具有輔助函數初始化結構:
// Returns a person deserialized from a JSON object
person fromJson(JsonObject obj);
// Usage:
auto personInfo = fromJson(/* JSON object from REST service */);
或與干將,setter和一類構造函數以JsonObject作爲參數並自行完成解串操作:
class person
{
public:
// Deserialized a JSON object and initializes the private fields
person(JsonObject obj);
int id() const;
string name() const;
int age() const;
void setId(int id);
void setName(string name);
void setAge(int age);
private:
int _id;
int _name;
int _age;
};
// Usage:
person personInfo{ /* JSON object from REST service */ };
鑑於數據將存儲在客戶端機器上,顯示,可能編輯然後發送回REST服務,哪個實現更適合使用?因爲我只會使用數據結構來存儲數據(使用setter/getters不應觸發除設置/獲取值之外的任何其他內容),我無法真正想到除個人偏好之外的其他任何好處。
謝謝你,這些都是好的。 –