You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Go语言中将超长payload单行数据拆分为多行或转为可读格式?

Go语言处理长payload的两种技巧:拆多行代码+转可读JSON

一、把代码里的payload字符串拆成多行

Go里有两种简单方式让长字符串在代码里换行,提升可读性:

  • 使用反引号原生字符串字面量
    用反引号``包裹整个字符串,里面可直接换行,无需转义双引号或处理特殊字符,适合编写长内容:

    payload := strings.NewReader(`json=%7B%22rent_content_layout%22%3A%22Original%22%2C
    %22start_verylargetext_enabled%22%3Afalse%2C
    %22auto_large_mode%22%3A...`)
    

    注意:原生字符串不会解析任何转义字符,原URL编码内容可直接保留换行。

  • 使用字符串拼接符+拆分
    把长字符串分成多个子串,每个子串单独一行,用+连接:

    payload := strings.NewReader(
        "json=%7B%22rent_content_layout%22%3A%22Original%22%2C" +
        "%22start_verylargetext_enabled%22%3Afalse%2C" +
        "%22auto_large_mode%22%3A...",
    )
    

    这种方式适合需要保留转义字符的场景,代码结构清晰。

二、把payload内容转成人类可读的JSON格式

你的payload里的json参数是URL编码后的JSON字符串,转成可读格式需两步:先解码URL编码,再格式化JSON。

以下是完整示例代码:

package main

import (
    "encoding/json"
    "fmt"
    "net/url"
    "strings"
)

func main() {
    // 原始payload内容(补全缺失部分)
    rawPayload := "json=%7B%22rent_content_layout%22%3A%22Original%22%2C%22start_verylargetext_enabled%22%3Afalse%2C%22auto_large_mode%22%3Atrue%7D"
    
    // 1. 提取json参数并解码URL编码
    jsonEncoded := strings.TrimPrefix(rawPayload, "json=")
    jsonDecoded, err := url.QueryUnescape(jsonEncoded)
    if err != nil {
        fmt.Printf("解码URL编码失败: %v\n", err)
        return
    }
    
    // 2. 解析并格式化JSON
    var jsonObj interface{}
    if err := json.Unmarshal([]byte(jsonDecoded), &jsonObj); err != nil {
        fmt.Printf("解析JSON失败: %v\n", err)
        return
    }
    jsonFormatted, err := json.MarshalIndent(jsonObj, "", "  ")
    if err != nil {
        fmt.Printf("格式化JSON失败: %v\n", err)
        return
    }
    
    fmt.Println("格式化后的可读JSON:")
    fmt.Println(string(jsonFormatted))
}

运行后输出的可读格式:

{
  "rent_content_layout": "Original",
  "start_verylargetext_enabled": false,
  "auto_large_mode": true
}

内容的提问来源于stack exchange,提问作者Anas S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:54:19