使用gson库可以很方便地将Java对象转换为JSON格式的字符串,但是默认情况下,gson会将JSON中的字符串用双引号括起来。如果需要获取原始格式的Java JSON,即仅用引号将字符串括起来,可以通过以下步骤实现:
以下是一个示例代码:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Main {
public static void main(String[] args) {
// 创建Java对象
Person person = new Person("John", "Doe", 30);
// 配置gson
Gson gson = new GsonBuilder().setPrettyPrinting().create();
// 转换为JSON字符串
String json = gson.toJson(person);
System.out.println(json);
}
}
class Person {
private String firstName;
private String lastName;
private int age;
public Person(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
// 省略getter和setter方法
}
运行以上代码,将输出以下结果:
{
"firstName": "John",
"lastName": "Doe",
"age": 30
}
注意:以上输出结果中的字符串值被双引号括起来。如果需要获取原始格式的Java JSON,即仅用引号将字符串括起来,可以通过以下方式修改代码:
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class Main {
public static void main(String[] args) {
// 创建Java对象
Person person = new Person("John", "Doe", 30);
// 配置gson
Gson gson = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
// 转换为JSON字符串
String json = gson.toJson(person);
System.out.println(json);
}
}
class Person {
private String firstName;
private String lastName;
private int age;
public Person(String firstName, String lastName, int age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
// 省略getter和setter方法
}
在以上代码中,通过GsonBuilder的disableHtmlEscaping方法禁用HTML转义,从而实现获取原始格式的Java JSON。运行代码,将输出以下结果:
{
"firstName": "John",
"lastName": "Doe",
"age": 30
}
这样,字符串值将不再被双引号括起来,符合原始的JSON格式。
领取专属 10元无门槛券
手把手带您无忧上云