【发布时间】:2016-08-25 11:58:48
【问题描述】:
我有一个 Json 格式作为模板 (Temp.json)。以下是我的模板格式
{
"products":[
{
"ProductTitleName": "",
"ImageUrl":""
}
]
}
现在我必须将数据填充为这种格式,基本上 products 数组将有很多对象节点。我使用 JsonPath 表达式从 Raw Json 中提取相关属性值。我的问题是如何使用此模板并将数据填充到此结构中。
Reason to use Template Json -
- 我使用了一个模板 json 来避免 pojo 类
- 虽然 JsonPath 表达式有助于提取必要的属性并将它们设置为目标属性,但我之前构建的最终 Json 输出结果是即时(运行时)。
- 如果假设我稍后要在这些属性中添加另一个属性,这会更容易并且可以避免代码更改。
所以为了避免那些提到的原因,我计划有一个模板 json 并遵守该结构,这是一个好方法吗,如果是这样,请帮助我将数据填充到模板中,如果不能帮助我更好的方法.
【问题讨论】:
-
如果您不知道它需要多长时间,模板将如何帮助您填充产品数组?此外,构建 JSON 不仅仅是连接文本:还有您需要考虑的转义规则等。如果您真的不想为此使用 pojos(为什么会这样),我建议您使用流式处理方法(例如 Jackson 流媒体 API)
-
@marthursson 我正在尝试定义一个模板,因为我的要求稍后可能会发生变化(即我可能需要产品对象的另一个属性,所以在这种情况下我必须来编辑我的 pojo 类权利) 就像再次编辑我的代码一样,根据 SOLID 原则这是不好的,所以我想有一个模板,我可以轻松地添加该属性,我不必更改代码。
-
@marthursson 就我的产品数组有多长而言,无论如何通过我的模板我定义了一个通用项目对象的属性,并且产品数组中的每个项目对象都将具有理想的相同属性,只是值是会改变
标签: java json templates jsonpath