如何在不创建对象的情况下将java类转换为json格式结构

如何在不创建对象的情况下将java类转换为json格式结构,java,json,swagger,swagger-ui,swagger-2.0,Java,Json,Swagger,Swagger Ui,Swagger 2.0,我需要记录多个MicroServicesAPI调用,所以我有一个问题,即如何直接从JavaPOJO类中创建json字符串。我的意思是,比如说 MyPojo.java public class MyPojo { String name; List<String> address; public MyPojo() { // TODO Auto-generated constructor stub } //setters and getters } 然后它应该给出如下结果: {

我需要记录多个MicroServicesAPI调用,所以我有一个问题,即如何直接从JavaPOJO类中创建json字符串。我的意思是,比如说

MyPojo.java

public class MyPojo {
String name;
List<String> address;
public MyPojo() {
    // TODO Auto-generated constructor stub
}
//setters and getters

}
然后它应该给出如下结果:

{"name":"string","address":[]}
我的尝试:

import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import io.swagger.v3.core.converter.ModelConverters;
import io.swagger.v3.core.util.Json;
import io.swagger.v3.oas.models.media.Schema;

public class TEst {
public static void main(String[] args) throws JsonProcessingException {

    ObjectMapper obj = new ObjectMapper(); 

    MyPojo o=new MyPojo();
    o.setName("aa");
    List<String> l=Arrays.asList("a","s");
    o.setAddress(l);
    System.out.println(obj.writeValueAsString(o));

}
}
所需o/p:

 {"name":"string","address":["string"]}
关注点:但我需要创建对象而不创建对象,因为在现实中pojo是巨大的,不可能设置所有虚拟数据

您可以使用

PODAM是一个轻量级工具,用于自动向JavaPOJO中填充数据。这 在开发单元测试时很方便。多亏了PODAM,用户现在拥有了 完成所有工作的一行程序

在项目中添加PODAM依赖项

<dependency>
  <groupId>uk.co.jemos.podam</groupId>
  <artifactId>podam</artifactId>
  <version>[latest.version]</version>
  <!-- <scope>test</scope> -->
</dependency>

你不能。为了得到其中的“a”和“s”,它们必须是对象中的值。json表示一个类,true,但json中的值表示实例的值。映射、集合/列表也可以做到这一点。我使用它们在json表示中创建了一个动态模型。您仍然可以使用ObjectMapper。如果结果符合您的预期,请尝试一下并查看一下。我更新了json。我只需要结构而不需要值。@ManuelPolacek我已经用ObjectMapper尝试过了,但它给出的结果是:{“name”:null,“address”:null}…address应该是[]not null。我想你可以在的帮助下实现这一点。谢谢你,它按预期工作…只有默认数据很糟糕,正确的DataProviderStrategy示例无法获取,如果您有,请共享。认可的!我将使用
DataProviderStrategy
实现更新我的问题,以尽快获得这个`{“name”:“string”,“address”:[“string”]}`
 {"name":"string","address":["string"]}
<dependency>
  <groupId>uk.co.jemos.podam</groupId>
  <artifactId>podam</artifactId>
  <version>[latest.version]</version>
  <!-- <scope>test</scope> -->
</dependency>
 PodamFactory factory = new PodamFactoryImpl();
 MyPojo myPojo = factory.manufacturePojo(MyPojo .class);
 // write it as json
 System.out.println(new ObjectMapper().writeValueAsString(myPojo));