>백엔드 개발 >Golang >golang에서 데이터를 json으로 변환하는 방법

golang에서 데이터를 json으로 변환하는 방법

PHPz
PHPz원래의
2023-04-07 16:59:491896검색

1. JSON이란 무엇인가요?

JSON은 JavaScript Object Notation의 약자입니다. 가장 큰 특징은 높은 가독성입니다. JSON 형식의 데이터는 읽기 쉽고 구문 분석하기 쉬우며 서버 및 클라이언트와의 데이터 교환에도 매우 적합합니다.

2. golang의 JSON

Golang(Go 언어라고도 함)은 기본적으로 JSON 형식을 지원하는 새로운 프로그래밍 언어입니다. 이는 JSON을 사용한 데이터 교환이 매우 쉬워진다는 것을 의미합니다.

Golang의 JSON 패키지는 구조나 맵을 JSON 개체로 변환하거나 JSON 개체를 구조나 맵으로 변환할 수 있는 마샬링과 비마샬링이라는 두 가지 메서드를 제공합니다.

3. Golang에서 데이터 교환에 JSON을 사용하세요

3.1 구조를 JSON 객체로 변환

Golang에서는 데이터를 저장할 구조를 정의할 수 있습니다. 예를 들어 구조는 다음과 같이 정의할 수 있습니다.

type person struct {
    Name string `json:”name”`
    Age int `json:”age”`
    Address string `json:”address”`
}

person 인스턴스를 JSON 개체로 변환하려면 JSON 패키지에서 제공하는 마샬 함수를 사용할 수 있습니다.

p := person{Name: "John", Age: 25, Address: "123 Main Street"}
b, err := json.Marshal(p)
if err != nil {
    panic(err)
}
fmt.Println(string(b))

위 코드에서 다음을 정의합니다. p라는 이름의 person 인스턴스는 JSON 패키지에서 제공하는 마샬링 함수를 사용하여 JSON 개체로 변환됩니다. 변환된 JSON 객체는 b 변수에 저장되며 fmt 패키지의 Println 함수를 사용하여 인쇄할 수 있습니다.

3.2 JSON 객체를 구조체로 변환

JSON 객체를 받아 구조체로 변환하고 싶다면 JSON 패키지에서 제공하는 역마샬링 기능을 사용할 수 있습니다. 예를 들어, 다음 JSON 문자열을 받았다고 가정해 보겠습니다.

{
    "name": "John",
    "age": 25,
    "address": "123 Main Street"
}

이 데이터를 저장할 구조를 정의할 수 있습니다.

type person struct {
    Name string `json:"name"`
    Age int `json:"age"`
    Address string `json:"address"`
}

그런 다음 JSON 패키지에서 제공하는 비정렬 함수를 사용하여 JSON 개체를 구조로 변환할 수 있습니다.

var p person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
    panic(err)
}
fmt.Println(p)

위의 코드에서는 p라는 person 인스턴스를 정의한 다음 JSON 패키지에서 제공하는 역마샬링 함수를 사용하여 JSON 개체를 이 인스턴스로 변환합니다. 변환된 개인 인스턴스는 p 변수에 저장되며 fmt 패키지의 Println 함수를 사용하여 인쇄할 수 있습니다.

4. 다른 프로그래밍 언어와의 데이터 교환 ​​

JSON은 범용 데이터 교환 형식이므로 Golang으로 작성된 애플리케이션은 다른 프로그래밍 언어 간에 데이터를 교환할 수 있습니다. 예를 들어 Golang을 사용하여 웹 애플리케이션을 개발할 때 JSON 데이터를 프런트엔드 JavaScript로 보내고 이를 JavaScript에서 구문 분석할 수 있습니다.

5. JSON의 장점

JSON은 의심할 여지 없이 뛰어난 데이터 형식이며, 가장 큰 장점은 데이터 읽기가 매우 쉽다는 것입니다. 다른 데이터 형식(예: 바이너리 형식)에 비해 JSON은 읽기가 더 쉽고 편리합니다.

또한 Golang과 함께 제공되는 JSON 패키지는 사용하기 매우 쉽습니다. 개발자는 자신의 데이터를 JSON 형식으로 쉽게 변환하고 다른 프로그래밍 언어와 데이터를 교환할 수 있습니다.

6. 요약

JSON은 가볍고 읽기 쉬운 데이터 교환 형식으로 다양한 프로그래밍 언어에서 널리 사용됩니다. Golang에서 제공하는 JSON 패키지는 사용하기 매우 쉽고 데이터 변환을 더 쉽게 해줍니다. 앞으로는 웹 애플리케이션을 작성할 때 데이터 교환을 위해 JSON을 사용하는 것을 고려할 수 있습니다.

위 내용은 golang에서 데이터를 json으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.