java - 将字符串与函数连接起来以获取 JSON 输出

标签 java spring

我刚开始在一个项目中使用java,我有这个疑问。我试图用这段代码获得 JSON 答案,但我不知道如何在 Java Spring 中将字符串与函数连接起来。我有这个 Controller ,结果如下:

public class BbController {
    @Autowired
    BbService bbService;

    private static final String RESP_SUCCESS =  "{\"result\" : { \"status\": true, \"http_code\" : 200, \"info\":  \"list successfully obtained.\"}}";

    @RequestMapping(value= "/all", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    public String getAllContracts() {
        return RESP_SUCCESS +  ",{" + this.bbService.getAllContracts() + "}";
    }
}

<---------- RESULT --------->>>
{
    "result": {
        "status": true,
        "http_code": 200,
        "info": "list successfully obtained."
    }
},
{
    [com.example.entity.BbEntity@3ddd5cfb, com.example.entity.BbEntity@1a57ff51
    ]
}

如果没有串联并仅返回 return this.bbService.getAllContracts(),输出将为

[
    {
        "id": 12345,
        "id_client": 123,
        "n_contracts": 2,
        "default_number": 2
    },
    {
        "id": 1,
        "id_client": 12,
        "n_contracts": 2,
        "default_number": 2
    }
]

我的服务是

public class BbService {
    @Autowired
    BbDao bbDao;

    public List<BbEntity> getAllContracts(){
        return this.bbDao.findAll();
    }
}

有什么办法可以得到这个结果吗?

{
    "result": {
        "status": true,
        "http_code": 200,
        "info": "list successfully obtained."
    }
},
{
  [
    {
        "id": 12345,
        "id_client": 123,
        "n_contracts": 2,
        "default_number": 2
    },
    {
        "id": 1,
        "id_client": 12,
        "n_contracts": 2,
        "default_number": 2
    }
]
}

提前致谢

最佳答案

看起来 this.bbService.getAllContracts() 返回一个没有实现 toString() 的类,因此它得到了这个丑陋的默认打印,您可以实现它以获得您想要的更好的表示。

但我认为更好的解决方案不应该是修复 toString,而是将方法的返回值从字符串更改为您创建的某个类。如果你使用的是spring,一旦你这样做它就会被序列化成json

关于java - 将字符串与函数连接起来以获取 JSON 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60582039/

相关文章:

java - 我怎样才能解决 CLASSPATH 问题并在 OSX 上编译 OpenKinect Java 示例?

java - 当我获取 JSON 元素时为空值

java - 如何从用户请求中获取用户代理?

java - Eclipse Neon.2 : Unable to add Gradle Buildship 中的 Spring 启动器插件问题

java - Bootstrap 的导航栏模板显示不正确的布局

java - Spring 启动 2 : Unable to build Hibernate SessionFactory

java - 修复 Bentley 书中的二进制搜索错误(编程珍珠 : writing correct programs)

java - 尝试调试我的代码时出错

Spring Boot : RequestMapping

java - hibernate 无法重新连接到 mysql 数据库