질문:
오픈 소스 Jq 래퍼가 있습니까? Go의 경우 기계가 읽을 수 있는 JSON 출력을 사람이 읽을 수 있는 형식으로 변환할 수 있습니까?
답변:
예, Go의 인코딩/json 패키지는 기본 제공 지원을 제공합니다. JSON 출력 형식 지정.
해결책:
다음 코드는 json.MarshalIndent()를 사용하여 들여쓰기된 JSON 출력을 생성하는 방법을 보여줍니다.
import ( "encoding/json" "fmt" ) func main() { m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data)) }
출력:
{ "id": "uuid1", "name": "John Smith" }
기존 JSON 문자열이 있는 경우 json.Indent()를 사용하여 형식을 지정할 수 있습니다.
import "encoding/json" func main() { src := `{"id":"uuid1","name":"John Smith"}` dst := &bytes.Buffer{} if err := json.Indent(dst, []byte(src), "", " "); err != nil { panic(err) } fmt.Println(dst.String()) }
출력:
{ "id": "uuid1", "name": "John Smith" }
사용자 정의:
들여쓰기 기능의 접두어 및 들여쓰기 매개변수를 사용하여 들여쓰기를 사용자 정의할 수 있습니다. 예:
data, err := json.MarshalIndent(m, "+", "-") if err != nil { panic(err) }
출력:
{ +--"id": "uuid1", +--"name": "John Smith" +}
위 내용은 Go의 `encoding/json` 패키지는 사람이 쉽게 읽을 수 있도록 JSON 출력 형식을 지정하는 방법을 제공합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!