将动态生成的数据注入JSON

时间:2015-01-26 13:19:02

标签: java json

我开发了一个可以测试对服务器的一些请求的工具,请求本身只不过是存储在光盘上的一些简单的JSON文件,可以连续添加,但是...还有一件事, JSON文件包含每次运行项目时需要更改的电子邮件地址,这是因为每个用户都有个人电子邮件,因为服务器不能接受来自的多个请求一个用户。所以我正在寻找一种解决方案,将这个电子邮件地址动态注入JSON。

我正在使用Java,还有REST API和Gson用于JSON。到目前为止,我调查了谷歌,但根本找不到任何东西。

2 个答案:

答案 0 :(得分:3)

您可以通过以下解决方案来实现这一目标:

  • 使用json文件作为模板字符串,标记为“{email:$ {e-mail}}”,然后使用jsonTemplate.replace("${e-mail}", email[i])
  • 将json解析为Map或Object模型请求,然后更改电子邮件字段并再次构建json

答案 1 :(得分:1)

使用Gson。

    Gson gson = new Gson();

    String yourJsonInStringFormat = " {\"email\":placeHolder,\"password\":\"placeHolder\"}";

    Map map = gson.fromJson(yourJsonInStringFormat, Map.class);

    map.put("email", "jose@com.com");
    map.put("password", "123456");
    String newJson = gson.toJson(map);
    System.out.println(newJson);

打印出来:

{"email":"jose@com.com","password":"123456"}

注入的字段不需要存在。例如,这也有效:

    Gson gson = new Gson();

    String yourJsonInStringFormat = "{}";

    Map map = gson.fromJson(yourJsonInStringFormat, Map.class);

    map.put("email", "jose@com.com");
    map.put("password", "123456");
    String newJson = gson.toJson(map);
    System.out.println(newJson);