| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package jsoniter
- import (
- "fmt"
- "testing"
- )
- func Test_bind_api_demo(t *testing.T) {
- iter := ParseString(`[0,1,2,3]`)
- val := []int{}
- iter.ReadVal(&val)
- fmt.Println(val[3])
- }
- func Test_any_api_demo(t *testing.T) {
- iter := ParseString(`[0,1,2,3]`)
- val := iter.ReadAny()
- fmt.Println(val.Get(3))
- }
- func Test_iterator_api_demo(t *testing.T) {
- iter := ParseString(`[0,1,2,3]`)
- total := 0
- for iter.ReadArray() {
- total += iter.ReadInt()
- }
- fmt.Println(total)
- }
- type ABC struct {
- a Any
- }
- func Test_deep_nested_any_api(t *testing.T) {
- iter := ParseString(`{"a": {"b": {"c": "d"}}}`)
- abc := &ABC{}
- iter.ReadVal(&abc)
- fmt.Println(abc.a.Get("b", "c"))
- }
- type User struct {
- userID int
- name string
- tags []string
- }
- func Test_iterator_and_bind_api(t *testing.T) {
- iter := ParseString(`[123, {"name": "taowen", "tags": ["crazy", "hacker"]}]`)
- user := User{}
- iter.ReadArray()
- user.userID = iter.ReadInt()
- iter.ReadArray()
- iter.ReadVal(&user)
- iter.ReadArray() // array end
- fmt.Println(user)
- }
|