JSON é um dos formatos de intercâmbio de dados mais populares. É simplista, legível pelo homem e muito flexível. É uma excelente opção para APIs e a maioria das transferências de dados. O dispositivo que você tem provavelmente está usando o JSON para executar uma tarefa específica.
Nesse caso, aprender a trabalhar com JSON é importante. Neste guia, aprenderemos a trabalhar.
Golang Marshal
As informações de codificação e decodificação do JSON em Go são fornecidas pelo pacote de codificação/json. Faz parte da biblioteca padrão; Portanto, você não precisa instalá -lo.
Você precisará de importar, porém, antes de poder usá -lo.
O pacote Econding/JSON codifica qualquer tipo de dados para uma string json válida, como veremos nesses exemplos.
Antes de discutir como codificar as estruturas, vamos começar com os tipos de dados básicos.
JSON Marshal Função
A seguir, descreve a sintaxe para a função de marechal, conforme definido no pacote.
Func Marshal (interface v ) ([] byte, erro)A função leva qualquer tipo de dados como argumento. A função retorna uma fatia de byte e um erro é encontrado durante o processo do marechal.
Marshal int
Podemos marcar um tipo de número inteiro, como mostrado no exemplo abaixo:
Pacote principalNo exemplo acima, começamos importando os pacotes necessários. Precisamos da codificação/JSON, FMT, e o pacote refletir em nosso exemplo.
Usamos o JSON.Marshal () Método para marechal e valor inteiro. Você notará que a função retorna um UNINT8 (um número inteiro não assinado de 8 bits) ou byte. Precisamos lançá -lo para uma string, como mostrado na saída abaixo:
$ go run marshall.irIsso retorna uma corda inteira.
Corda do marechal.
Podemos marcar um tipo de string, como mostrado no exemplo abaixo:
funcmarshal_str ()Se executarmos o código acima, devemos colocar a string organizada em uma fatia de bytes como:
Faixa marechaled: [34 76 105 110 117 120 104 105 110 116 34]Marshall Bool
Você também pode marcar um tipo booleano usando a função marechal. Considere o exemplo abaixo:
funcmarshal_bool ()Marechal flutuando
Marechal um tipo flutuante como mostrado:
funcmarshal_float ()Fatia de marechal
O exemplo abaixo ilustra como marcar uma fatia em Go:
funcmarshal_slice ()Marechal struct
Para organizar uma estrutura, considere o exemplo abaixo:
funcmarshal_struct ()A função de exemplo acima ilustra como marcar um tipo de estrutura.
A saída resultante é como mostrado:
"Full_Name": "John Doe", "Age": 32, "Aposentado": Falso, "Salário": 140000O acima representa a estrutura organizada em uma string válida JSON.
Golang UNARSHAL
UNARSHAL é o contrário do marechal. Ele permite que você converta dados de byte na estrutura de dados original.
Em GO, o UNARSHALING é tratado pelo JSON.Método UNMARSHAL ().
Considere um exemplo de string json como:
"Full_Name": "John Doe", "Age": 32, "Aposentado": Falso, "Salário": 140000Vamos começar criando uma estrutura para combinar com o código de byte depois de executar o UNARSHAL.
Tipo de estrutura de usuárioO próximo passo é criar a string json no código de byte. Depois de termos o código de byte, podemos soltá -lo em uma estrutura.
user_info_bytes: = [] byte (user_info)Depois de termos o código de byte, podemos soltá -lo em estrutura.
VAR Usuário de funcionáriosDepois de termos a estrutura, podemos acessar os valores como:
fmt.Println (funcionário.Nome completo)O código acima deve retornar:
John DoeO código -fonte completo é como mostrado abaixo:
Func UNMARSHAL_STRUCT ()Conclusão
Marechal e UNARSHAL representam um requisito importante da transformação de dados. Como programadores, é importante nos familiarizar com como executar essas operações. Este tutorial serve a esse propósito com facilidade.
Obrigado pela leitura e codificação feliz!