From 64895a98af83fb000edc0adda0a50aad494a3f4a Mon Sep 17 00:00:00 2001 From: tiny-craft <137850705+tiny-craft@users.noreply.github.com> Date: Wed, 1 Nov 2023 23:35:45 +0800 Subject: [PATCH] fix: unable to save json string with prefix or suffix contains space or line break --- README_zh.md | 21 +++++++++++++++------ backend/utils/string/convert.go | 11 ++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/README_zh.md b/README_zh.md index d391c1f..b6a6a73 100644 --- a/README_zh.md +++ b/README_zh.md @@ -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 diff --git a/backend/utils/string/convert.go b/backend/utils/string/convert.go index f1f09f2..792884d 100644 --- a/backend/utils/string/convert.go +++ b/backend/utils/string/convert.go @@ -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