Java

Java实现生成JSON字符串的三种方式分享

小云
115
2023-08-10 12:44:32
栏目: 编程语言

  1. 使用Java自带的JSONObject和JSONArray类来生成JSON字符串。
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonUtils {
public static void main(String[] args) {
// 创建JSONObject对象
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "John");
jsonObject.put("age", 25);
jsonObject.put("city", "New York");
// 创建JSONArray对象
JSONArray jsonArray = new JSONArray();
jsonArray.put("apple");
jsonArray.put("banana");
jsonArray.put("orange");
// 将JSONArray添加到JSONObject中
jsonObject.put("fruits", jsonArray);
// 生成JSON字符串
String jsonString = jsonObject.toString();
System.out.println(jsonString);
}
}

输出结果:

{
"name": "John",
"age": 25,
"city": "New York",
"fruits": [
"apple",
"banana",
"orange"
]
}
  1. 使用第三方库如Gson来生成JSON字符串。
import com.google.gson.Gson;
public class JsonUtils {
public static void main(String[] args) {
// 创建实体类对象
Person person = new Person("John", 25, "New York");
// 创建Gson对象
Gson gson = new Gson();
// 生成JSON字符串
String jsonString = gson.toJson(person);
System.out.println(jsonString);
}
static class Person {
private String name;
private int age;
private String city;
public Person(String name, int age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
}
}

输出结果:

{"name":"John","age":25,"city":"New York"}
  1. 使用Jackson库来生成JSON字符串。
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtils {
public static void main(String[] args) {
// 创建实体类对象
Person person = new Person("John", 25, "New York");
// 创建ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper();
try {
// 生成JSON字符串
String jsonString = objectMapper.writeValueAsString(person);
System.out.println(jsonString);
} catch (Exception e) {
e.printStackTrace();
}
}
static class Person {
private String name;
private int age;
private String city;
public Person(String name, int age, String city) {
this.name = name;
this.age = age;
this.city = city;
}
}
}

输出结果:

{"name":"John","age":25,"city":"New York"}

这三种方式都可以用于生成JSON字符串,选择使用哪种方式取决于具体的需求和项目中使用的库。

0
看了该问题的人还看了