如何将数据填充到 Json 模板

How to populate data to a Json Template

我有一个 Json 格式作为模板 (Temp.json)。下面是我的模板格式

{
  "products":[
    {
      "ProductTitleName": "",
      "ImageUrl":""
    }
  ]
}

现在我必须将数据填充为这种格式,基本上 products 数组将有许多对象节点。我已经使用 Json 路径表达式从 Raw Json.My 中提取相关属性值 Json.My 问题是如何使用此模板并将数据填充到此结构中。

Reason to use Template Json -

  1. 我使用模板 json 来避免 pojo 类
  2. 虽然Json路径表达式有助于提取必要的属性并将它们设置为目标属性最终Json我之前构建的输出结果是即时的(运行时)。
  3. 如果假设我稍后要在添加这些属性的同时添加另一个属性,这会更容易并且可以很好地避免代码更改。

所以为了避免上述原因,我计划有一个模板 json 并坚持该结构,这是一个好方法吗,如果是这样,请帮助我将数据填充到模板中,如果没有帮助我想出了一个更好的方法。

如果你只需要避免pojo 类你可以使用通用的Map来做相同的。在这种情况下,您不需要解析基本模板。

Map<String, Object> products = new HashMap<>();
List<Map<String, Object>> listProducts = new ArrayList<>();

for () { // Loop over products
    Map<String, Object> product = new HashMap<>();
    product.put("ProductTitleName", "YourTitle");
    product.put("ImageUrl", "YourImageUrl");
    listProducts.add(product);
}

products.put("products", listProducts);
// Now you can use products Map instead of an equivalent pojo class

如果您需要使用模板,请尝试使用 Velocity。它是一个模板引擎,可以很好地构建文本文件(在本例中为 json 文件),但来自模板。它不仅限于文件,如有必要,它也适用于字符串或流。