Groovy JsonOutput.toJson(对象)返回空字符串
我正在使用groovy JsonOuput.toJson()将groovy类实例转换为json 但是它总是在这个特定的类上返回一个空字符串 我尝试使用其他工具JsonBuilder(),但同样的情况也发生了 也删除了@NonCps注释,但保留了空字符串结果Groovy JsonOutput.toJson(对象)返回空字符串,json,serialization,groovy,Json,Serialization,Groovy,我正在使用groovy JsonOuput.toJson()将groovy类实例转换为json 但是它总是在这个特定的类上返回一个空字符串 我尝试使用其他工具JsonBuilder(),但同样的情况也发生了 也删除了@NonCps注释,但保留了空字符串结果 ImportTestsRequest request //initialized String json = JsonOutput.toJson(request) import com.cloudbees.groovy.cps.NonCPS
ImportTestsRequest request //initialized
String json = JsonOutput.toJson(request)
import com.cloudbees.groovy.cps.NonCPS
类ImportTestRequest实现可序列化{
邮票
列表测试=新建ArrayList()
无效添加测试(测试){
测试。添加(测试)
}
字符串getStamp(){
盖印
}
列表getTests(){
返回测试
}
公共静态ImportTestRequestBuilder生成器(){
返回新的ImportTestRequestBuilder()
}
布尔等于(o){
如果(this.is(o))返回true
如果(!(o instanceof importsetsRequest))返回false
ImportSetsRequest,它=(ImportSetsRequest)o
if(tests!=that.tests)返回false
如果(stamp!=that.stamp)返回false
返回真值
}
int hashCode(){
整数结果
结果=(stamp!=null?stamp.hashCode():0)
result=31*result+(tests!=null?tests.hashCode():0)
返回结果
}
@非现金
@凌驾
公共字符串toString(){
返回“ImportTestRequest{”+
“stamp=”+stamp+“\”+
“,tests=“+测试+
'}';
}
公共静态最终类ImportTestRequestBuilder{
私有字符串stamp=“”
私有列表测试=新建ArrayList()
私有ImportSetsRequestBuilder(){
}
公共导入TSRequestBuilder戳记(字符串戳记){
这张邮票
还这个
}
公共ImportTestRequestBuilder请求(列表测试){
这个。测试=测试
还这个
}
公共测试(测试){
请求。添加(测试)
}
public ImportSetsRequest生成(){
ImportSetsRequest ImportSetsRequest=新的ImportSetsRequest()
importTestsRequest.tests=此.tests
importTestRequest.stamp=this.stamp
返回ImportSetsRequest
}
}
}
原因可能是什么?为什么不使用@Builder注释?
import com.cloudbees.groovy.cps.NonCPS
class ImportTestsRequest implements Serializable {
String stamp
List<Test> tests = new ArrayList<>()
void addTest(Test test) {
tests.add(test)
}
String getStamp() {
return stamp
}
List<Test> getTests() {
return tests
}
public static ImportTestsRequestBuilder builder() {
return new ImportTestsRequestBuilder()
}
boolean equals(o) {
if (this.is(o)) return true
if (!(o instanceof ImportTestsRequest)) return false
ImportTestsRequest that = (ImportTestsRequest) o
if (tests != that.tests) return false
if (stamp != that.stamp) return false
return true
}
int hashCode() {
int result
result = (stamp != null ? stamp.hashCode() : 0)
result = 31 * result + (tests != null ? tests.hashCode() : 0)
return result
}
@NonCPS
@Override
public String toString() {
return "ImportTestsRequest{" +
"stamp='" + stamp + '\'' +
", tests=" + tests +
'}';
}
public static final class ImportTestsRequestBuilder {
private String stamp = ""
private List<Test> tests = new ArrayList<>()
private ImportTestsRequestBuilder() {
}
public ImportTestsRequestBuilder stamp(String stamp) {
this.stamp = stamp
return this
}
public ImportTestsRequestBuilder requests(List<Test> tests) {
this.tests = tests
return this
}
public void addTests(Test test) {
requests.add(test)
}
public ImportTestsRequest build() {
ImportTestsRequest importTestsRequest = new ImportTestsRequest()
importTestsRequest.tests = this.tests
importTestsRequest.stamp = this.stamp
return importTestsRequest
}
}
}