@Override
	public String getJSONString() {
		StringBuilder json = new StringBuilder()
		.append("{")
		.append(super.getJSONBaseString());
		if(this.getDate()!=null && this.getDate()!="")
			json.append("\"date\":\"").append(this.getDate()).append("\",");
		json.append("\"completed\":").append((this.isCompleted() ? "true":"false"));
		json.append(",")
		.append("\"checklist\":[");

		if(this.getChecklist() != null && !this.getChecklist().getItems().isEmpty()) {
			for(ChecklistItem item : this.getChecklist().getItems()) {
				json.append("{")
					.append("\"text\":").append(JSONObject.quote(item.getText())).append(",")
					.append("\"id\":").append(JSONObject.quote(item.getId())).append(",")
					.append("\"completed\":").append(item.isCompleted() ? "true" : "false")
					.append("},");
			}
			json.deleteCharAt(json.length()-1);
		}
		json.append("]")
		.append("}" );
		return json.toString();
	}