1
0
mirror of https://github.com/json-iterator/go.git synced 2025-01-08 13:06:29 +02:00
A high-performance 100% compatible drop-in replacement of "encoding/json" http://jsoniter.com/migrate-from-go-std.html
Go to file
2016-12-13 01:13:15 +08:00
any_test.go make any easier to work with 2016-12-11 10:04:26 +08:00
any.go fix any 2016-12-11 15:53:35 +08:00
jsoniter_adapter.go support customize reflection 2016-12-05 13:20:27 +08:00
jsoniter_any_test.go fix any 2016-12-11 15:53:35 +08:00
jsoniter_array_test.go support WhatIsNext 2016-12-10 14:34:36 +08:00
jsoniter_base64_test.go #2 fix reuse buffer 2016-12-09 13:08:14 +08:00
jsoniter_bool_test.go support null/true/false 2016-12-02 11:22:20 +08:00
jsoniter_customize_test.go support customize all fields 2016-12-12 19:06:33 +08:00
jsoniter_demo_test.go fix any 2016-12-11 15:53:35 +08:00
jsoniter_find_end_test.go optimize skip 2016-12-06 23:51:29 +08:00
jsoniter_float_test.go optimize read float 2016-12-08 10:02:18 +08:00
jsoniter_int_test.go merge lexer with iterator 2016-12-01 10:35:38 +08:00
jsoniter_io_test.go merge lexer with iterator 2016-12-01 10:35:38 +08:00
jsoniter_large_file_test.go support null/true/false 2016-12-02 11:22:20 +08:00
jsoniter_map_test.go fix unsafe reference 2016-12-11 18:19:26 +08:00
jsoniter_nested_test.go support null/true/false 2016-12-02 11:22:20 +08:00
jsoniter_null_test.go support null/true/false 2016-12-02 11:22:20 +08:00
jsoniter_object_test.go remove callback api 2016-12-08 09:48:26 +08:00
jsoniter_reflect_test.go decode []byte using ReadBase64 2016-12-08 13:37:21 +08:00
jsoniter_reflect.go support customize all fields 2016-12-12 19:06:33 +08:00
jsoniter_skip_test.go optimize skip 2016-12-06 23:51:29 +08:00
jsoniter_string_test.go implement any api 2016-12-10 23:59:40 +08:00
jsoniter.go fix any 2016-12-11 15:53:35 +08:00
LICENSE Initial commit 2016-11-30 08:30:24 +08:00
README.md update README 2016-12-13 01:13:15 +08:00

jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go

Why jsoniter?

  • Jsoniter is the fastest JSON parser. It could be up to 10x faster than normal parser, data binding included. Shameless self benchmark
  • Extremely flexible api. You can mix and match three different styles: bind-api, any-api or iterator-api. Checkout your api choices
  • Unique iterator api can iterate through JSON directly, zero memory allocation! See how iterator works

Show off

Here is a quick show off, for more complete report you can checkout the full benchmark with in-depth optimization to back the numbers up

go-medium

1 Minute Tutorial

Given this JSON document [0,1,2,3]

Parse with Go bind-api

import "github.com/json-iterator/go"
iter := jsoniter.ParseString(`[0,1,2,3]`)
val := []int{}
iter.Read(&val)
fmt.Println(val[3])

Parse with Go any-api

import "github.com/json-iterator/go"
iter := jsoniter.ParseString(`[0,1,2,3]`)
val := iter.ReadAny()
fmt.Println(val.Get(3))

Parse with Go iterator-api

import "github.com/json-iterator/go"
iter := ParseString(`[0,1,2,3]`)
total := 0
for iter.ReadArray() {
    total += iter.ReadInt()
}
fmt.Println(total)

How to get

go get github.com/json-iterator/go

Contribution Welcomed !

Report issue or pull request, or email taowen@gmail.com, or Gitter chat