动态生成JSON的最佳方法

时间:2020-04-05 06:25:05

标签: java json rest api

我正在测试REST API。每个API都使用不同类型的JSON有效负载。 我不想手动填写所有输入。因此,我想动态生成JSON(例如,从文本文件中读取值并填写JSON结构),然后将生成的JSON作为请求主体传递给API。

这样做的最佳方法是什么? 对工具或插件有什么建议吗?

P.S。嵌套的JSON结构非常复杂。

2 个答案:

答案 0 :(得分:1)

这与我几周前的情况一样。

我所做的可能对您也有帮助:

我使用了private Map<String, Object> data;

在我想拥有动态JSON的DTO中。

就像我的JSON是:

{
"key":{
"key1":["1","2","3"]
},
"key2":{
}
}

然后,此JSON将保存为Map,可用于解析JSON数据。

要进行解析,请尝试使用org.json

例如:

JSONObject jsonObject = new JSONObject(mapFromDTO);

现在您拥有对JSON的完全访问权限,这是您的核心问题。

答案 1 :(得分:0)

答案在于定义合同。首先确定JSON中的最大可能值。

例如,开始时,您可以决定以下联系人:

{
    "id": 1,
    "name": "Username",
    "age": 30,
    "phone": 900000000
}

一旦合同确定,请设计一个POJO。 POJO可能是非常复杂的数据结构,可以具有字段,也可以是字段(对象)列表。这完全取决于您的业务。

然后您可以编写一个Java服务,该服务可以基于一些复杂的业务逻辑来生成此POJO。

此POJO填充后,请使用杰克逊等第三方库将其转换为JSON。

进一步阅读: https://www.tutorialspoint.com/how-to-convert-java-object-to-json-using-jackson-library