![]() |
|
|||
File indexing completed on 2025-08-28 08:27:00
0001 // Licensed to the Apache Software Foundation (ASF) under one 0002 // or more contributor license agreements. See the NOTICE file 0003 // distributed with this work for additional information 0004 // regarding copyright ownership. The ASF licenses this file 0005 // to you under the Apache License, Version 2.0 (the 0006 // "License"); you may not use this file except in compliance 0007 // with the License. You may obtain a copy of the License at 0008 // 0009 // http://www.apache.org/licenses/LICENSE-2.0 0010 // 0011 // Unless required by applicable law or agreed to in writing, 0012 // software distributed under the License is distributed on an 0013 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 0014 // KIND, either express or implied. See the License for the 0015 // specific language governing permissions and limitations 0016 // under the License. 0017 0018 #pragma once 0019 0020 #include <memory> 0021 #include <string_view> 0022 #include <unordered_map> 0023 0024 #include "arrow/result.h" 0025 #include "arrow/util/visibility.h" 0026 0027 namespace arrow { 0028 namespace json { 0029 namespace internal { 0030 0031 /// This class is a helper to parse a json object from a string. 0032 /// It uses rapidjson::Document in implementation. 0033 class ARROW_EXPORT ObjectParser { 0034 public: 0035 ObjectParser(); 0036 ~ObjectParser(); 0037 0038 Status Parse(std::string_view json); 0039 0040 Result<std::string> GetString(const char* key) const; 0041 0042 Result<bool> GetBool(const char* key) const; 0043 0044 // Get all members of the object as a map from string keys to string values 0045 Result<std::unordered_map<std::string, std::string>> GetStringMap() const; 0046 0047 private: 0048 class Impl; 0049 std::unique_ptr<Impl> impl_; 0050 }; 0051 0052 } // namespace internal 0053 } // namespace json 0054 } // namespace arrow
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |