jsoniter_any_test.go 780 B

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