DataGen 的 JSON 值替换

Posted

技术标签:

【中文标题】DataGen 的 JSON 值替换【英文标题】:JSON value replacement by DataGen 【发布时间】:2018-07-16 11:07:41 【问题描述】:

您好 *** 用户,

我有一个以下 JSON 作为 JSONObject 或 String

   
     "canconnect" : true,
     "NetworkData": 
        "mac": "MAC",
        "ipaddress": "IP"
     
   

这里的 MAC 和 IP 是一种占位符。一旦从数据源获得 MAC 和 IP 的数据,我就需要使用 Java 将占位符替换为适当的值。

这几乎等同于 SpringFramework 中的“PropertyPlaceholderConfigurer”,但用于 Json。

提前致谢, 阿伦。

【问题讨论】:

docs.oracle.com/javase/8/docs/api/java/lang/… 【参考方案1】:

这就像使用 String 类的 replace 方法一样简单。您应该在询问之前阅读文档。用法示例:

String aux = "\"canconnect\" : true, \"NetworkData\": \"mac\": \"MAC\", \"ipaddress\": \"IP\"";
System.out.println(aux.replace("MAC", "YOUR_MAC").replace("IP", "YOUR_IP"));

【讨论】:

我知道字符串替换会做,但在某些情况下,“MAC”的第一次出现将获得与 MAC 的第二次出现不同的值,所以考虑是否有任何框架可以做好工作。 这不是问题,因为您有不同的签名要替换。你有 replace(String str1, String str2), replaceFirst(String str1, String str2) 和 replaceAll(String str1, String str2)。如果您需要一个一个替换,您可以随时使用replaceFirst。 @user1316830

以上是关于DataGen 的 JSON 值替换的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Play 中替换 JSON 值

.NET Core/System.Text.Json:枚举和添加/替换 json 属性/值

JSONObject遍历并替换部分json值

替换部分属性值

在javascript中遍历嵌套的json文件时替换值

用于替换值的 REGEX 帮助