当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


GO Indent用法及代码示例

GO语言"encoding/json"包中"Indent"函数的用法及代码示例。

用法:

func Indent(dst *bytes.Buffer, src []byte, prefix, indent string) error

Indent 将 JSON-encoded src 的缩进形式附加到 dst。 JSON 对象或数组中的每个元素都从一个新的缩进行开始,该行以前缀开头,后跟根据缩进嵌套的一个或多个缩进副本。附加到 dst 的数据不以前缀或任何缩进开头,以便更容易嵌入到其他格式化的 JSON 数据中。尽管 src 开头的前导空格字符(空格、制表符、回车、换行符)被删除,但 src 末尾的尾随空格字符被保留并复制到 dst。例如,如果 src 没有尾随空格,则 dst 也不会;如果 src 以尾随换行符结尾,则 dst 也是如此。

例子:

package main

import (
    "bytes"
    "encoding/json"
    "log"
    "os"
)

func main() {
    type Road struct {
        Name   string
        Number int
    }
    roads := []Road{
        {"Diamond Fork", 29},
        {"Sheep Creek", 51},
    }

    b, err := json.Marshal(roads)
    if err != nil {
        log.Fatal(err)
    }

    var out bytes.Buffer
    json.Indent(&out, b, "=", "\t")
    out.WriteTo(os.Stdout)
}

输出:

[
=	{
=		"Name": "Diamond Fork",
=		"Number": 29
=	},
=	{
=		"Name": "Sheep Creek",
=		"Number": 51
=	}
=]

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Indent。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。