fix: unable to save json string with prefix or suffix contains space or line break

This commit is contained in:
tiny-craft 2023-11-01 23:35:45 +08:00
parent 6996421cde
commit 64895a98af
2 changed files with 19 additions and 13 deletions

View File

@ -17,16 +17,25 @@
## 功能特性
* 基于Webview无内嵌浏览器感谢[Wails](https://github.com/wailsapp/wails)
* 极度轻量,基于Webview2,无内嵌浏览器(感谢[Wails](https://github.com/wailsapp/wails)
* 更精美的界面和直观的结构布局(感谢[Naive UI](https://github.com/tusen-ai/naive-ui)
和 [IconPark](https://iconpark.oceanengine.com)
* 多国语言支持(点我贡献和完善多国语言支持)
* 便捷的数据查看和编辑修改
* 更多功能持续开发中…
* 多国语言支持:英文/中文(点我贡献和完善多国语言支持)
* 更好用的连接管理支持SSH隧道/SSL/哨兵模式/集群模式
* 可视化键值操作,增删查改一应俱全
* 支持多种数据查看格式以及转码/解压方式
* 操作命令执行日志展示
* 提供命令行操作
## 未来版本规划
- [ ] List/Hash/Set/Sorted Set的分页展示和查询
- [ ] 慢日志展示
- [ ] 命令实时监控
- [ ] 发布/订阅支持
## 安装
提供Mac、Windows和Linux下载安装可[免费下载](https://github.com/tiny-craft/tiny-rdm/releases)。
提供Mac、Windows和Linux安装,可[免费下载](https://github.com/tiny-craft/tiny-rdm/releases)。
> 如果在macOS上安装后无法打开报错**不受信任**或者**移到垃圾箱**,执行下面命令后再启动即可:
> ``` shell
@ -35,7 +44,7 @@
## 构建项目
### 运行环境要求
* Go >= 1.21
* Go(最新版本)
* Node.js >= 16
* NPM >= 9

View File

@ -350,13 +350,10 @@ func SaveAs(str, viewType, decodeType string) (value string, err error) {
func encodeJson(str string) (string, bool) {
var data any
if (strings.HasPrefix(str, "{") && strings.HasSuffix(str, "}")) ||
(strings.HasPrefix(str, "[") && strings.HasSuffix(str, "]")) {
if err := json.Unmarshal([]byte(str), &data); err == nil {
var jsonByte []byte
if jsonByte, err = json.Marshal(data); err == nil {
return string(jsonByte), true
}
if err := json.Unmarshal([]byte(str), &data); err == nil {
var jsonByte []byte
if jsonByte, err = json.Marshal(data); err == nil {
return string(jsonByte), true
}
}
return str, false