@@ -3,7 +3,6 @@ package jsoniter
33import (
44 "fmt"
55 "unicode"
6- "unsafe"
76)
87
98// ReadObject read one field from object.
@@ -19,33 +18,25 @@ func (iter *Iterator) ReadObject() (ret string) {
1918 c = iter .nextToken ()
2019 if c == '"' {
2120 iter .unreadByte ()
22- if iter .cfg .objectFieldMustBeSimpleString {
23- return string (iter .readObjectFieldAsBytes ())
24- } else {
25- field := iter .ReadString ()
26- c = iter .nextToken ()
27- if c != ':' {
28- iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
29- }
30- return field
21+ field := iter .ReadString ()
22+ c = iter .nextToken ()
23+ if c != ':' {
24+ iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
3125 }
26+ return field
3227 }
3328 if c == '}' {
3429 return "" // end of object
3530 }
3631 iter .ReportError ("ReadObject" , `expect " after {, but found ` + string ([]byte {c }))
3732 return
3833 case ',' :
39- if iter .cfg .objectFieldMustBeSimpleString {
40- return string (iter .readObjectFieldAsBytes ())
41- } else {
42- field := iter .ReadString ()
43- c = iter .nextToken ()
44- if c != ':' {
45- iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
46- }
47- return field
34+ field := iter .ReadString ()
35+ c = iter .nextToken ()
36+ if c != ':' {
37+ iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
4838 }
39+ return field
4940 case '}' :
5041 return "" // end of object
5142 default :
@@ -115,36 +106,25 @@ func calcHash(str string) int32 {
115106// ReadObjectCB read object with callback, the key is ascii only and field name not copied
116107func (iter * Iterator ) ReadObjectCB (callback func (* Iterator , string ) bool ) bool {
117108 c := iter .nextToken ()
118- var fieldBytes []byte
119109 var field string
120110 if c == '{' {
121111 c = iter .nextToken ()
122112 if c == '"' {
123113 iter .unreadByte ()
124- if iter .cfg .objectFieldMustBeSimpleString {
125- fieldBytes = iter .readObjectFieldAsBytes ()
126- field = * (* string )(unsafe .Pointer (& fieldBytes ))
127- } else {
128- field = iter .ReadString ()
129- c = iter .nextToken ()
130- if c != ':' {
131- iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
132- }
114+ field = iter .ReadString ()
115+ c = iter .nextToken ()
116+ if c != ':' {
117+ iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
133118 }
134119 if ! callback (iter , field ) {
135120 return false
136121 }
137122 c = iter .nextToken ()
138123 for c == ',' {
139- if iter .cfg .objectFieldMustBeSimpleString {
140- fieldBytes = iter .readObjectFieldAsBytes ()
141- field = * (* string )(unsafe .Pointer (& fieldBytes ))
142- } else {
143- field = iter .ReadString ()
144- c = iter .nextToken ()
145- if c != ':' {
146- iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
147- }
124+ field = iter .ReadString ()
125+ c = iter .nextToken ()
126+ if c != ':' {
127+ iter .ReportError ("ReadObject" , "expect : after object field, but found " + string ([]byte {c }))
148128 }
149129 if ! callback (iter , field ) {
150130 return false
0 commit comments