当前位置: 首页 > 知识库问答 >
问题:

动态生成JSON的最佳方法[duplicate]

邹阳
2023-03-14

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

最好的方法是什么?对工具或插件有什么建议吗?

附言:嵌套的JSON结构非常复杂。

共有2个答案

章乐逸
2023-03-14

答案在于定义合约。首先确定JSON中可能的最大值是什么。

例如,对于start,您可以决定以下联系人:

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

一旦合同敲定,设计一个POJO。这个POJO可以是非常复杂的数据结构,可以有字段,也可以是字段(对象)列表。这完全取决于你的生意。

然后,您可以编写一个java服务,它可以根据一些复杂的业务逻辑生成这个POJO。

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

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

唐烨煜
2023-03-14

这和我几周前吃的一样。

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

我用了私人地图

在我的DTO中,我想要动态JSON。

比如我的JSON是:

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

然后,这个JSON将被保存为一个映射,您可以使用它来解析JSON数据。

对于解析,请尝试使用org。json

例如:

JSONObject jsonObject = new JSONObject(mapFromDTO);

现在你可以完全访问JSON,这是你的核心问题。

 类似资料:
  • 问题内容: 我正在创建一个Web API,需要一种很好的方法来非常快速地生成一些格式正确的xml。我找不到在python中执行此操作的任何好方法。 注意:一些库看起来很有前途,但要么缺少文档,要么仅输出到文件。 问题答案: 使用lxml: 输出: 有关更多信息,请参见教程。

  • 问题内容: 我正在寻找一种工具,该工具将为我提供适当的生成源,包括AJAX请求对W3的验证器输入进行的DOM更改。我尝试了以下方法: Web开发人员工具栏 -根据doc类型生成无效的源(例如,它删除标记的自闭合部分)。丢失页面的doctype部分。 Firebug-修复源代码中的潜在缺陷(例如未关闭的标签)。也丢失标签的doctype部分,并注入本身是无效HTML的控制台。 IE开发者工具栏-根据

  • 问题内容: 在Java中生成唯一ID的最佳方法是什么。人们普遍使用 但是这种方法需要在多线程应用程序中进行同步。 我在用 这种方法可以帮助我避免同步开销。 有什么更好的方法请提出建议? 问题答案: 如何使用UUID:http : //java.sun.com/j2se/1.5.0/docs/api/java/util/UUID.html#randomUUID%28%29

  • 本文向大家介绍动态JSP页生成静态HTML的方法,包括了动态JSP页生成静态HTML的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了动态JSP页生成静态HTML的方法。分享给大家供大家参考。具体如下: 具体实现: 利用Filter的过滤功能把*.jsp过滤出来,判断是否存在对应的.html文件,如果不存在对应的.html文件,则将其内容读出写入指定的.html文件,再跳转到对应的.h

  • 本文向大家介绍js 动态生成json对象、时时更新json对象的方法,包括了js 动态生成json对象、时时更新json对象的方法的使用技巧和注意事项,需要的朋友参考一下 函数不需要 return,因为 json 对象会被函数直接修改。 下面为测试 函数应该有三个参数的,第一个为 json 对象,但应你要求,只写了两个,所以函数只能用于修改 str1。 以上这篇js 动态生成json对象、时时更新

  • 问题内容: 我是ReactJS的新手,正在尝试了解什么是将代码部署到生产中的最佳方法。按照下面的链接,我正在使用babel作为下面的代码进行构建,但是我想知道 这是否很好,或者是否有 将ReactJS部署到生产中的 其他最佳实践 : http://www.sitepoint.com/getting-started-react- jsx/ 这是我的index.html和main.js文件: inde