Java 用DataGen替换JSON值

Java 用DataGen替换JSON值,java,json,placeholder,Java,Json,Placeholder,嗨,StackOverflow用户 我有一个JSON作为JSONObject或字符串 { "canconnect" : true, "NetworkData": { "mac": "{MAC}", "ipaddress": "{IP}" } } 这里{MAC}和{IP}是一种占位符。一旦{MAC}和{IP}的数据可以从datasource获得,那么我需要使用Java用适当的值替换占位符 这与SpringFramework

嗨,StackOverflow用户

我有一个JSON作为JSONObject或字符串

   {
     "canconnect" : true,
     "NetworkData": {
        "mac": "{MAC}",
        "ipaddress": "{IP}"
     }
   }
这里{MAC}和{IP}是一种占位符。一旦{MAC}和{IP}的数据可以从datasource获得,那么我需要使用Java用适当的值替换占位符

这与SpringFramework中的“PropertyPlaceHolderConfigure”非常相似,但对于Json来说则不同

提前感谢,,
Arun.

这与使用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(字符串str1,字符串str2)、replaceFirst(字符串str1,字符串str2)和replaceAll(字符串str1,字符串str2)。如果需要逐个替换,则始终可以使用replaceFirst@用户1316830