| 168 | |
| 169 | template <class Scanner> |
| 170 | bool JsonParser<Scanner>::Key(const char* str, uint32_t len, bool copy) { |
| 171 | if (object_depth_ == 1 && array_depth_ == 0) { |
| 172 | DCHECK_EQ(current_field_idx_, -1); |
| 173 | string lower_case_key(len, 0); |
| 174 | for (uint32_t i = 0; i < len; ++i) { |
| 175 | lower_case_key[i] = ascii_tolower(str[i]); |
| 176 | } |
| 177 | auto iter = field_indexs_.find(lower_case_key); |
| 178 | current_field_idx_ = (iter == field_indexs_.end()) ? -1 : iter->second; |
| 179 | } |
| 180 | return true; |
| 181 | } |
| 182 | |
| 183 | template <class Scanner> |
| 184 | bool JsonParser<Scanner>::StartObject() { |
no test coverage detected