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) * 更精美的界面和直观的结构布局(感谢[Naive UI](https://github.com/tusen-ai/naive-ui)
和 [IconPark](https://iconpark.oceanengine.com) 和 [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上安装后无法打开报错**不受信任**或者**移到垃圾箱**,执行下面命令后再启动即可: > 如果在macOS上安装后无法打开报错**不受信任**或者**移到垃圾箱**,执行下面命令后再启动即可:
> ``` shell > ``` shell
@ -35,7 +44,7 @@
## 构建项目 ## 构建项目
### 运行环境要求 ### 运行环境要求
* Go >= 1.21 * Go(最新版本)
* Node.js >= 16 * Node.js >= 16
* NPM >= 9 * NPM >= 9

View File

@ -350,15 +350,12 @@ func SaveAs(str, viewType, decodeType string) (value string, err error) {
func encodeJson(str string) (string, bool) { func encodeJson(str string) (string, bool) {
var data any 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 { if err := json.Unmarshal([]byte(str), &data); err == nil {
var jsonByte []byte var jsonByte []byte
if jsonByte, err = json.Marshal(data); err == nil { if jsonByte, err = json.Marshal(data); err == nil {
return string(jsonByte), true return string(jsonByte), true
} }
} }
}
return str, false return str, false
} }