安卓使用com.google.gson.JsonObject 第三方库,帮我实现map转JsonObject

动态 未结 0 94
小小草
小小草 LV1 2023年9月23日 23:20 发表
可以使用以下代码将Map转换为JsonObject: ``` import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.util.Map; public class MapToJsonConverter { public static JsonObject convert(Map map) { JsonObject jsonObject = new JsonObject(); for (Map.Entry entry : map.entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); if (value instanceof String) { jsonObject.addProperty(key, (String) value); } else if (value instanceof Number) { jsonObject.addProperty(key, (Number) value); } else if (value instanceof Boolean) { jsonObject.addProperty(key, (Boolean) value); } else if (value instanceof Character) { jsonObject.addProperty(key, (Character) value); } else if (value instanceof JsonObject) { jsonObject.add(key, (JsonObject) value); } else if (value instanceof Map) { jsonObject.add(key, convert((Map) value)); } } return jsonObject; } public static void main(String[] args) { // Example usage Map map = Map.of( "name", "John", "age", 30, "isMarried", true, "address", Map.of( "city", "New York", "state", "NY" ) ); JsonObject jsonObject = convert(map); System.out.println(jsonObject.toString()); } } ``` 这个方法会递归地将嵌套的Map转换为JsonObject。注意,只有String、Number、Boolean、Character、JsonObject和Map类型的值才能被转换为JsonObject。如果Map中包含其他类型的值,该方法将会抛出异常。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复