Java动态创建JSON
jsonObj.addProperty("name", "STM32开发笔记");jsonObj.put("name", "STM32开发笔记");author.put("nickname", "嵌入式开发者");// 1. 创建空的 ObjectNode(动态 JSON 对象)jsonObj.put("name", "STM32开发笔记");author.put("nickname", "嵌入式
在 Java 中动态创建 JSON,常用的类库有 FastJSON、Jackson 和 Gson,以下是三种类库的简洁实现方式,可灵活构建不同结构的 JSON 数据:
1. 使用 FastJSON(阿里开源,轻量高效)
import com.alibaba.fastjson.JSONObject;
public class FastJsonDemo {
public static void main(String[] args) {
// 1. 创建空的 JSON 对象
JSONObject jsonObj = new JSONObject();
// 2. 动态添加键值对(支持不同数据类型)
jsonObj.put("name", "STM32开发笔记");
jsonObj.put("version", 1.0);
jsonObj.put("isPublic", true);
// 3. 嵌套 JSON 对象
JSONObject author = new JSONObject();
author.put("id", 1001);
author.put("nickname", "嵌入式开发者");
jsonObj.put("author", author);
// 4. 转为 JSON 字符串
String jsonStr = jsonObj.toJSONString();
System.out.println(jsonStr);
}
}
2. 使用 Jackson(Spring 生态默认,功能全面)
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
public class JacksonDemo {
public static void main(String[] args) {
ObjectMapper objectMapper = new ObjectMapper();
// 1. 创建空的 ObjectNode(动态 JSON 对象)
ObjectNode jsonObj = objectMapper.createObjectNode();
// 2. 动态添加属性
jsonObj.put("name", "STM32开发笔记");
jsonObj.put("version", 1.0);
jsonObj.put("isPublic", true);
// 3. 嵌套 JSON 对象
ObjectNode author = objectMapper.createObjectNode();
author.put("id", 1001);
author.put("nickname", "嵌入式开发者");
jsonObj.set("author", author);
// 4. 转为 JSON 字符串
try {
String jsonStr = objectMapper.writeValueAsString(jsonObj);
System.out.println(jsonStr);
} catch (Exception e) {
e.printStackTrace();
}
}
}
3. 使用 Gson(谷歌开源,简洁易用)
import com.google.gson.JsonObject;
public class GsonDemo {
public static void main(String[] args) {
// 1. 创建空的 JSON 对象
JsonObject jsonObj = new JsonObject();
// 2. 动态添加键值对
jsonObj.addProperty("name", "STM32开发笔记");
jsonObj.addProperty("version", 1.0);
jsonObj.addProperty("isPublic", true);
// 3. 嵌套 JSON 对象
JsonObject author = new JsonObject();
author.addProperty("id", 1001);
author.addProperty("nickname", "嵌入式开发者");
jsonObj.add("author", author);
// 4. 转为 JSON 字符串
String jsonStr = jsonObj.toString();
System.out.println(jsonStr);
}
}
更多推荐



所有评论(0)