go语言json解析库jsoniter的使用(替换标准库encoding/json)

go语言json解析库jsoniter的使用(替换标准库encoding/json)

文章目录

    • go语言json解析库jsoniter的使用(替换标准库encoding/json)
      • 替换标准库json
      • 使用Stream序列化JSON

高性能,替代"encoding/json",100%兼容"encoding/json"

替换标准库json

100%兼容标准库

替换

import "encoding/json"
json.Marshal(&data)

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Marshal(&data)

替换

import "encoding/json"
json.Unmarshal(input, &data)

import jsoniter "github.com/json-iterator/go"

var json = jsoniter.ConfigCompatibleWithStandardLibrary
json.Unmarshal(input, &data)

使用Stream序列化JSON

func demo() {
  api := jsoniter.ConfigCompatibleWithStandardLibrary
  stream := api.BorrowStream(nil)
  defer api.ReturnStream(stream)
  stream.WriteObjectStart()
  stream.WriteObjectField("hello")
  stream.WriteString("world")
  stream.WriteMore()
  stream.WriteObjectField("nice")
  stream.WriteFalse()
  stream.WriteObjectEnd()

  b := stream.Buffer()
  fmt.Printf("%s\n", b)			// 输出 {"hello":"world","nice":false}
}	

你可能感兴趣的:(json,golang解析json)