当前位置: 首页 > news >正文

怎么用家里的电脑做网站服务器潍坊seo推广

怎么用家里的电脑做网站服务器,潍坊seo推广,做门户网站好还是论坛好,怎么把个人做的网站上传到网上c11 json解析库nlohmann/json.hpp文件整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便。 json.hpp库在文章末尾下载 读写主要有两种方式,第一种根据键值对读写&…

c++11 json解析库nlohmann/json.hpp文件整个代码由一个头文件组成 json.hpp,没有子项目,没有依赖关系,没有复杂的构建系统,使用起来非常方便。

json.hpp库在文章末尾下载

读写主要有两种方式,第一种根据键值对读写,第二种直接遍历json文件读写。

1、根据键值对读写
假设有个json文件,格式如下:

{"test": [{"FixedParameters": {"bit_depth": 10,"dark_level": 5.5,"dark_time": 100,"dynamic_range": 0.1},"InitialParameters":{"InitialTime":20,"rate":50},"JudgmentMechanism":{"max_time": 100000,"min_time": 0,"rangeMax": 0.9,"rangeMin": 0.3,"targetMax": 0.9,"targetMin": 0.5},"IterationStepLength":{"belowNormalRange":1.5,"aboveNormalRange":2,"totalIterations":10},"IsUseROIs":{"isUseROIs":false,"isCalculateEntireROIGray":false,"pixelTotalNumber":1000,"isUseWeightedAverage":false,"ROIS":[{"Name":"ROI1","weight":1,"x":0,"y":0,"width":100,"height":100}]},"Index": 1,"Name": "data1","SerialNumber": "0000000000"},{"FixedParameters": {"bit_depth": 200,"dark_level": 10.0,"dark_time": 3000,"dynamic_range": 0.5},"InitialParameters":{"InitialTime":0,"rate":20},"JudgmentMechanism":{"max_time": 200000,"min_time": 11111,"rangeMax": 0.9,"rangeMin": 0.3,"targetMax": 0.9,"targetMin": 0.5},"IterationStepLength":{"belowNormalRange":1.5,"aboveNormalRange":2,"totalIterations":10},"IsUseROIs":{"isUseROIs":false,"isCalculateEntireROIGray":false,"pixelTotalNumber":1000,"isUseWeightedAverage":false,"ROIS":[{"Name":"ROI1","weight":1,"x":0,"y":0,"width":100,"height":200}]},"Index": 2,"Name": "data2","SerialNumber": "1111111111"}]
}

读json文件:

头文件的部分内容

#pragma once
#include <iostream>
#include <fstream>
#include <string>
#include <mutex>
#include "json.hpp"
using namespace std;
using json = nlohmann::ordered_json;struct FixedParameters_
{int bit_depth;double dark_level;double dark_time;double dynamic_range;
};struct InitialParameters_
{int InitialTime;bool isAutoUpdateInitTime;bool isAutoUpdateMaxMinTime;int rate;
};struct JudgmentMechanism_
{int max_time;int min_time;double rangeMax;double rangeMin;double target_max;double target_min;
};struct IterationStepLength_
{double belowNormalRange;double aboveNormalRange;int totalIterations;
};struct ROIS
{double weight;int x;int y;int width;int height;
};struct IsUseROIs_
{bool isUseROIs;bool isCalculateEntireROIGray;int pixelTotalNumber;bool isUseWeightedAverage;std::map<std::string, ROIS> rois;
};struct Param
{FixedParameters_ fixedParameters;InitialParameters_ initialParameters;JudgmentMechanism_ judgmentMechanism;IterationStepLength_ iterationStepLength;IsUseROIs_ isUseROIs;std::string SN;
};struct AEConfig
{std::map<std::string, Param> AE_Config;
};class ReadWriteConfig
{
public:static ReadWriteConfig *getinstance();ReadWriteConfig();//read/write jsonAEConfig ReadAEConfig(string configPath);void WriteAEConfig(AEConfig AE_Config, string configPath);private:static ReadWriteConfig *m_ReadWriteConfig;string path;json m_JsonConfig;
};

CPP部分

AEConfig ReadWriteConfig::ReadAEConfig(string configPath)
{m_mutex.lock();if (configPath != "")path = configPath;std::ifstream ifs(path, std::fstream::in);if (ifs.fail()){//return 0;m_mutex.unlock();throw std::runtime_error("Unable to open AEConfig File.");}ifs >> m_JsonConfig;ifs.close();AEConfig AE_Config;auto AEConfig = m_JsonConfig["test"];for (auto& it : AEConfig.items()){string cameraName = it.value()["Name"].get<string>();AE_Config.AE_Config[cameraName].SN = it.value()["SerialNumber"].get<string>();AE_Config.AE_Config[cameraName].fixedParameters.bit_depth = it.value()["FixedParameters"]["bit_depth"].get<int>();AE_Config.AE_Config[cameraName].fixedParameters.dark_level = it.value()["FixedParameters"]["dark_level"].get<double>();AE_Config.AE_Config[cameraName].fixedParameters.dark_time = it.value()["FixedParameters"]["dark_time"].get<double>();AE_Config.AE_Config[cameraName].fixedParameters.dynamic_range = it.value()["FixedParameters"]["dynamic_range"].get<double>();AE_Config.AE_Config[cameraName].initialParameters.InitialTime = it.value()["InitialParameters"]["InitialTime"].get<int>();AE_Config.AE_Config[cameraName].initialParameters.isAutoUpdateInitTime = it.value()["InitialParameters"]["isAutoUpdateInitTime"].get<bool>();AE_Config.AE_Config[cameraName].initialParameters.isAutoUpdateMaxMinTime = it.value()["InitialParameters"]["isAutoUpdateMaxMinTime"].get<bool>();AE_Config.AE_Config[cameraName].initialParameters.rate = it.value()["InitialParameters"]["rate"].get<int>();AE_Config.AE_Config[cameraName].judgmentMechanism.max_time = it.value()["JudgmentMechanism"]["max_time"].get<int>();AE_Config.AE_Config[cameraName].judgmentMechanism.min_time = it.value()["JudgmentMechanism"]["min_time"].get<int>();AE_Config.AE_Config[cameraName].judgmentMechanism.rangeMax = it.value()["JudgmentMechanism"]["rangeMax"].get<double>();AE_Config.AE_Config[cameraName].judgmentMechanism.rangeMin = it.value()["JudgmentMechanism"]["rangeMin"].get<double>();AE_Config.AE_Config[cameraName].judgmentMechanism.target_max = it.value()["JudgmentMechanism"]["targetMax"].get<double>();AE_Config.AE_Config[cameraName].judgmentMechanism.target_min = it.value()["JudgmentMechanism"]["targetMin"].get<double>();AE_Config.AE_Config[cameraName].iterationStepLength.belowNormalRange = it.value()["IterationStepLength"]["belowNormalRange"].get<double>();AE_Config.AE_Config[cameraName].iterationStepLength.aboveNormalRange = it.value()["IterationStepLength"]["aboveNormalRange"].get<double>();AE_Config.AE_Config[cameraName].iterationStepLength.totalIterations = it.value()["IterationStepLength"]["totalIterations"].get<int>();AE_Config.AE_Config[cameraName].isUseROIs.isUseROIs = it.value()["IsUseROIs"]["isUseROIs"].get<bool>();AE_Config.AE_Config[cameraName].isUseROIs.isCalculateEntireROIGray = it.value()["IsUseROIs"]["isCalculateEntireROIGray"].get<bool>();AE_Config.AE_Config[cameraName].isUseROIs.pixelTotalNumber = it.value()["IsUseROIs"]["pixelTotalNumber"].get<int>();AE_Config.AE_Config[cameraName].isUseROIs.isUseWeightedAverage = it.value()["IsUseROIs"]["isUseWeightedAverage"].get<bool>();auto roiConfig = it.value()["IsUseROIs"]["ROIS"];for (auto& it : roiConfig.items()){string roiName = it.value()["Name"].get<string>();ROIS rois;rois.weight = it.value()["weight"].get<double>();rois.x = it.value()["x"].get<int>();rois.y = it.value()["y"].get<int>();rois.width = it.value()["width"].get<int>();rois.height = it.value()["height"].get<int>();AE_Config.AE_Config[cameraName].isUseROIs.rois[roiName] = rois;}}m_mutex.unlock();return AE_Config;
}

写json文件

void ReadWriteConfig::WriteAEConfig(AEConfig AE_Config, string configPath)
{m_mutex.lock();if (configPath != "")path = configPath;m_JsonConfig["test"].clear();for (auto gt = AE_Config.AE_Config.begin(); gt != AE_Config.AE_Config.end(); gt++){json AutoExposure;AutoExposure["Name"] = gt->first;AutoExposure["SerialNumber"] = gt->second.SN;AutoExposure["FixedParameters"]["bit_depth"] = gt->second.fixedParameters.bit_depth;AutoExposure["FixedParameters"]["dark_level"] = gt->second.fixedParameters.dark_level;AutoExposure["FixedParameters"]["dark_time"] = gt->second.fixedParameters.dark_time;AutoExposure["FixedParameters"]["dynamic_range"] = gt->second.fixedParameters.dynamic_range;AutoExposure["InitialParameters"]["InitialTime"] = gt->second.initialParameters.InitialTime;AutoExposure["InitialParameters"]["isAutoUpdateInitTime"] = gt->second.initialParameters.isAutoUpdateInitTime;AutoExposure["InitialParameters"]["isAutoUpdateMaxMinTime"] = gt->second.initialParameters.isAutoUpdateMaxMinTime;AutoExposure["InitialParameters"]["rate"] = gt->second.initialParameters.rate;AutoExposure["JudgmentMechanism"]["max_time"] = gt->second.judgmentMechanism.max_time;AutoExposure["JudgmentMechanism"]["min_time"] = gt->second.judgmentMechanism.min_time;AutoExposure["JudgmentMechanism"]["rangeMax"] = gt->second.judgmentMechanism.rangeMax;AutoExposure["JudgmentMechanism"]["rangeMin"] = gt->second.judgmentMechanism.rangeMin;AutoExposure["JudgmentMechanism"]["targetMax"] = gt->second.judgmentMechanism.target_max;AutoExposure["JudgmentMechanism"]["targetMin"] = gt->second.judgmentMechanism.target_min;AutoExposure["IterationStepLength"]["belowNormalRange"] = gt->second.iterationStepLength.belowNormalRange;AutoExposure["IterationStepLength"]["aboveNormalRange"] = gt->second.iterationStepLength.aboveNormalRange;AutoExposure["IterationStepLength"]["totalIterations"] = gt->second.iterationStepLength.totalIterations;AutoExposure["IsUseROIs"]["isUseROIs"] = gt->second.isUseROIs.isUseROIs;AutoExposure["IsUseROIs"]["isCalculateEntireROIGray"] = gt->second.isUseROIs.isCalculateEntireROIGray;AutoExposure["IsUseROIs"]["pixelTotalNumber"] = gt->second.isUseROIs.pixelTotalNumber;AutoExposure["IsUseROIs"]["isUseWeightedAverage"] = gt->second.isUseROIs.isUseWeightedAverage;for (auto it = gt->second.isUseROIs.rois.begin(); it != gt->second.isUseROIs.rois.end(); it++){json roi;roi["Name"] = it->first;roi["weight"] = it->second.weight;roi["x"] = it->second.x;roi["y"] = it->second.y;roi["width"] = it->second.width;roi["height"] = it->second.height;AutoExposure["IsUseROIs"]["ROIS"].push_back(roi);}m_JsonConfig["test"].push_back(AutoExposure);}std::ofstream os(path);if (os.fail()){//return 0;m_mutex.unlock();throw std::runtime_error("Unable to open AEConfig File.");}os << m_JsonConfig.dump(4);os.close();m_mutex.unlock();
}

json.hpp库下载

http://www.hkea.cn/news/274502/

相关文章:

  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器
  • 如何做盗版小说网站最经典的营销案例
  • 设计类的网站和简介关键词优化推广排名多少钱
  • 代理记账网站怎么做北京seo方法
  • cdr做网站企业网站建设的基本流程
  • 网站建设需要哪些硬件百度指数排名
  • 2017年网站开发用什么语言找培训机构的app
  • 澳门响应式网站建设seo入门黑帽培训教程
  • 有哪些网站可以做微商口碑营销案例2021
  • 百度推广要不要建网站网络平台建设及运营方案
  • 大型网站开发考试查网址
  • 网站建设业务市场营销论文搜索优化