读取或更新resources下的json文件;
{
"links": [
{
"name": "MYSQL_HOST",
"title": "MYSQL_HOST",
"content": "127.0.0.1"
},
{
"name": "MYSQL_PORT",
"title": "端口",
"content": "3306"
},
{
"name": "MYSQL_DBNAME",
"title": "数据库",
"content": "tableau"
},
{
"name": "MYSQL_USER",
"title": "用户名",
"content": "root"
},
{
"name": "MYSQL_PASSWORD",
"title": "密码",
"content": "123456"
}
]
}
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.springframework.context.annotation.Profile;
import java.io.*;
import java.util.HashMap;
public class JsonUtils {
public static String readJSON(String fileName) throws Exception {
String filePath = Profile.class.getClassLoader().getResource(fileName).toURI().getPath();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));
StringBuilder sb = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
sb.append(line);
}
String result = sb.toString().replaceAll("\r\n", "").replaceAll(" +", "");
return result;
}
public static void updateJSON(String fileName, HashMap<String, String> map) throws Exception {
JSONObject jsonObject = JSON.parseObject(readJSON(fileName));
JSONArray links = jsonObject.getJSONArray("links");
for (int i = 0; i < links.size(); i++) {
JSONObject item1 = links.getJSONObject(i);
if (item1.getString("name").equalsIgnoreCase(map.get("name"))) {
item1.put("content", map.get("content"));
}
}
JSONObject nItem = new JSONObject();
nItem.put("links", links);
String nContent = JSON.toJSONString(nItem);
String filePath = Profile.class.getClassLoader().getResource(fileName).toURI().getPath();
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath)));
bw.write("");
bw.write(nContent);
bw.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@PostMapping()
public ResponseEntity<Object> editConfig(@RequestBody HashMap<String, String> map) throws Exception {
JsonUtils.updateJSON("user.json", map);
return new ResponseEntity<>(HttpStatus.OK);
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。