我正在尝试使用Groovy JsonBuilder将Java对象转换为JSON
Java POJO类
public class Employee {
String name;
int age;
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Groovy脚本
Employee employee = new Employee();
employee.name="Vinod"
employee.age=24
println new JsonBuilder( employee ).toPrettyString()
输出量
{
}
我不确定我是否使用了错误的JsonBuilder.请帮忙
解决方法:
由于您使用的是Java POJO,因此需要为您拥有的两个属性添加getter,即public String getName()和public String getAge().
JsonBuilder利用DefaultGroovyMethods.getProperties
获取对象属性.如果不添加上述吸气剂,它将找不到任何属性,因此生成的JSON为空.
以便:
Employee.java
public class Employee {
String name;
int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return String.format("Employee{name=%s, age=%d}", name, age);
}
}
如果改为使用POGO(普通的旧Groovy对象),则默认情况下会为每个属性添加吸气剂,因此它可以直接使用: