/* Tango - Personal Media Center Copyright (C) 2021 Ulrich Hilger This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package de.uhilger.tango.api; import com.google.gson.Gson; /** * * @author Ulrich Hilger * @version 1, 9.4.2021 */ public class JsonHelper { public String jsonWithEnclosingType(Object o) { /* StringBuilder sb = new StringBuilder(); sb.append("{\""); sb.append(o.getClass().getSimpleName()); sb.append("\": "); Gson gson = new Gson(); sb.append(gson.toJson(o)); sb.append("}"); return sb.toString(); */ return jsonWithCustomType(o, o.getClass().getSimpleName()); } public String jsonWithCustomType(Object o, String typeName) { /* StringBuilder sb = new StringBuilder(); sb.append("{\""); sb.append(typeName); sb.append("\": "); Gson gson = new Gson(); sb.append(gson.toJson(o)); sb.append("}"); return sb.toString(); */ Gson gson = new Gson(); return embedInCustomType(gson.toJson(o), typeName); } public String embedInCustomType(String jsonStr, String typeName) { StringBuilder sb = new StringBuilder(); sb.append("{\""); sb.append(typeName); sb.append("\": "); //Gson gson = new Gson(); //sb.append(gson.toJson(o)); sb.append(jsonStr); sb.append("}"); return sb.toString(); } }