1a69a01cdSopenharmony_ci/* 2a69a01cdSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3a69a01cdSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4a69a01cdSopenharmony_ci * you may not use this file except in compliance with the License. 5a69a01cdSopenharmony_ci * You may obtain a copy of the License at 6a69a01cdSopenharmony_ci * 7a69a01cdSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8a69a01cdSopenharmony_ci * 9a69a01cdSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10a69a01cdSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11a69a01cdSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12a69a01cdSopenharmony_ci * See the License for the specific language governing permissions and 13a69a01cdSopenharmony_ci * limitations under the License. 14a69a01cdSopenharmony_ci */ 15a69a01cdSopenharmony_ci 16a69a01cdSopenharmony_ci#include "format_json.h" 17a69a01cdSopenharmony_ci#include <sstream> 18a69a01cdSopenharmony_cinamespace OHOS { 19a69a01cdSopenharmony_cinamespace WuKong { 20a69a01cdSopenharmony_ciFormatJSON::FormatJSON() : Format() 21a69a01cdSopenharmony_ci{ 22a69a01cdSopenharmony_ci} 23a69a01cdSopenharmony_ci 24a69a01cdSopenharmony_ciFormatJSON::~FormatJSON() 25a69a01cdSopenharmony_ci{ 26a69a01cdSopenharmony_ci} 27a69a01cdSopenharmony_ci 28a69a01cdSopenharmony_civoid FormatJSON::FormatDetail(std::shared_ptr<Table> tablePtr, std::string &target) 29a69a01cdSopenharmony_ci{ 30a69a01cdSopenharmony_ci std::vector<std::string> header = tablePtr->GetHeader(); 31a69a01cdSopenharmony_ci std::vector<std::vector<std::string>> record = tablePtr->GetRecord(); 32a69a01cdSopenharmony_ci std::stringstream ss; 33a69a01cdSopenharmony_ci ss << "[" << std::endl; 34a69a01cdSopenharmony_ci for (uint32_t row = 0; row < record.size(); row++) { 35a69a01cdSopenharmony_ci ss << "{" << std::endl; 36a69a01cdSopenharmony_ci for (uint32_t col = 0; col < header.size(); col++) { 37a69a01cdSopenharmony_ci ss << header[col] << ":\"" << record[row][col] << "\""; 38a69a01cdSopenharmony_ci if (col == (header.size() - 1)) { 39a69a01cdSopenharmony_ci ss << "},"; 40a69a01cdSopenharmony_ci break; 41a69a01cdSopenharmony_ci } 42a69a01cdSopenharmony_ci ss << ","; 43a69a01cdSopenharmony_ci } 44a69a01cdSopenharmony_ci ss << std::endl; 45a69a01cdSopenharmony_ci } 46a69a01cdSopenharmony_ci ss << "]," << std::endl; 47a69a01cdSopenharmony_ci target = ss.str(); 48a69a01cdSopenharmony_ci} 49a69a01cdSopenharmony_ci} // namespace WuKong 50a69a01cdSopenharmony_ci} // namespace OHOS 51