jsoniter_any_test.go 731 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package jsoniter
  2. import (
  3. "testing"
  4. "fmt"
  5. )
  6. func Test_read_string_as_any(t *testing.T) {
  7. iter := ParseString(`[1, {"hello": "world"}, 2]`)
  8. any := iter.ReadAny()
  9. if any.ToString(1, "hello") != "world" {
  10. t.FailNow()
  11. }
  12. }
  13. func Test_read_float64_as_any(t *testing.T) {
  14. iter := ParseString(`1.23`)
  15. any := iter.ReadAny()
  16. if any.ToFloat32() != 1.23 {
  17. t.FailNow()
  18. }
  19. }
  20. func Test_read_int_as_any(t *testing.T) {
  21. iter := ParseString(`123`)
  22. any := iter.ReadAny()
  23. if any.ToFloat32() != 123 {
  24. t.FailNow()
  25. }
  26. }
  27. func Test_read_any_from_nested(t *testing.T) {
  28. iter := ParseString(`{"numbers": ["1", "2", ["3", "4"]]}`)
  29. val := iter.ReadAny()
  30. if val.ToInt("numbers", 2, 0) != 3 {
  31. fmt.Println(val.Error)
  32. t.FailNow()
  33. }
  34. }