CharReaderBuilder---json从字符串中解析出json数据


#include <iostream>
#include <string>
#include <fstream>
#include <json.h>

using namespace std;

string mgv_cfg_json = R"(
{
    "or_bin": {
        "s_m_package_path": "./m_dir/20190820/s_500m_e300_0730_encrypt.s",
        "hvcp_postfilter_m_package_path": "./m_dir/20190820/pf_qa_0726_encrypt.s",
        "poseblur_m_package_path": "./m_encrypt/poseblur_grey_inst_hp_20190630_encrypt.s",
        "s_as": [
            "./m_dir/20190820/as_s/a_P8.txt",
            "./m_dir/20190820/as_s/a_P7.txt",
            "./m_dir/20190820/as_s/a_P6.txt",
            "./m_dir/20190820/as_s/a_P5.txt",
            "./m_dir/20190820/as_s/a_P4.txt",
            "./m_dir/20190820/as_s/a_P3.txt"
        ],
        "b_as": [
            "./m_dir/20190820/as_hv/a_P8.txt",
            "./m_dir/20190820/as_hv/a_P7.txt",
            "./m_dir/20190820/as_hv/a_P6.txt",
            "./m_dir/20190820/as_hv/a_P5.txt",
            "./m_dir/20190820/as_hv/a_P4.txt",
            "./m_dir/20190820/as_hv/a_P3.txt"
        ],
        "v_as": [
            "./m_dir/20190820/as_hv/a_P8.txt",
            "./m_dir/20190820/as_hv/a_P7.txt",
            "./m_dir/20190820/as_hv/a_P6.txt",
            "./m_dir/20190820/as_hv/a_P5.txt",
            "./m_dir/20190820/as_hv/a_P4.txt",
            "./m_dir/20190820/as_hv/a_P3.txt"
        ],
        "p_as": [
            "./m_dir/20190820/as_p/a_P8.txt",
            "./m_dir/20190820/as_p/a_P7.txt",
            "./m_dir/20190820/as_p/a_P6.txt",
            "./m_dir/20190820/as_p/a_P5.txt",
            "./m_dir/20190820/as_p/a_P4.txt",
            "./m_dir/20190820/as_p/a_P3.txt"
        ],
        "s_config": {
            "s_threshold": 0.5,
            "nms_threshold": 0.3,
            "postfilter_threshold": 0.5
        },
        "h_config": {
            "s_threshold": 0.7,
            "nms_threshold": 0.5,
            "postfilter_threshold": 0.7
        },
        "p_config": {
            "s_threshold": 0.5,
            "nms_threshold": 0.5,
            "postfilter_threshold": 0.0
        },
        "v_config": {
            "s_threshold": 0.6,
            "nms_threshold": 0.5,
            "postfilter_threshold": 0.6
        },
        "cycle_config": {
            "s_threshold": 0.6,
            "nms_threshold": 0.5,
            "postfilter_threshold": 0.6
        },
        "s_h_matched_threshold": 0.3
    },
    "v_cls_bin":{
        "v_cls_m_package_path": "./m_dir/20190820/v_cycle_recog_0811_encrypt.s"
    },
    "p_bin": {
        "p_refiner_m_package_path": "./m_dir/20190820/190717_p_bb_rgb_encrypt.s",
        "p_recognition_m_package_path": "./m_dir/20190820/p_recog_m_0807_encrypt.s",
        "recognition_confidence": 0.3
    },
    "global_info": {
        "is_blocking": true,
        "channel_num": 2,
        "bind_cpu_enable": false
    }
}
)";

int main(int argc, char** argv)
{
    Json::CharReaderBuilder builder;
    Json::Value mgv_obj;
    JSONCPP_STRING errs;

        auto reader = builder.newCharReader();

    if(!reader->parse(mgv_cfg_json.data(), mgv_cfg_json.data() + mgv_cfg_json.size(), &mgv_obj, &errs)){
        std::cout << errs << std::endl;
        return 1;
    }

    ofstream os;
    char fileDstName[256];
    Json::StyledWriter writer;
    snprintf(fileDstName, 255, "%s.json", argv[1]);
    os.open(fileDstName);
    os << writer.write(mgv_obj);
    os.close(); 

    return 0;
}

输出:

{
   "global_info" : {
      "bind_cpu_enable" : false,
      "channel_num" : 2,
      "is_blocking" : true
   },
   "or_bin" : {
      "b_as" : [
         "./m_dir/20190820/as_hv/a_P8.txt",
         "./m_dir/20190820/as_hv/a_P7.txt",
         "./m_dir/20190820/as_hv/a_P6.txt",
         "./m_dir/20190820/as_hv/a_P5.txt",
         "./m_dir/20190820/as_hv/a_P4.txt",
         "./m_dir/20190820/as_hv/a_P3.txt"
      ],
      "cycle_config" : {
         "nms_threshold" : 0.5,
         "postfilter_threshold" : 0.59999999999999998,
         "s_threshold" : 0.59999999999999998
      },
      "h_config" : {
         "nms_threshold" : 0.5,
         "postfilter_threshold" : 0.69999999999999996,
         "s_threshold" : 0.69999999999999996
      },
      "hvcp_postfilter_m_package_path" : "./m_dir/20190820/pf_qa_0726_encrypt.s",
      "p_as" : [
         "./m_dir/20190820/as_p/a_P8.txt",
         "./m_dir/20190820/as_p/a_P7.txt",
         "./m_dir/20190820/as_p/a_P6.txt",
         "./m_dir/20190820/as_p/a_P5.txt",
         "./m_dir/20190820/as_p/a_P4.txt",
         "./m_dir/20190820/as_p/a_P3.txt"
      ],
      "p_config" : {
         "nms_threshold" : 0.5,
         "postfilter_threshold" : 0.0,
         "s_threshold" : 0.5
      },
      "poseblur_m_package_path" : "./m_encrypt/poseblur_grey_inst_hp_20190630_encrypt.s",
      "s_as" : [
         "./m_dir/20190820/as_s/a_P8.txt",
         "./m_dir/20190820/as_s/a_P7.txt",
         "./m_dir/20190820/as_s/a_P6.txt",
         "./m_dir/20190820/as_s/a_P5.txt",
         "./m_dir/20190820/as_s/a_P4.txt",
         "./m_dir/20190820/as_s/a_P3.txt"
      ],
      "s_config" : {
         "nms_threshold" : 0.29999999999999999,
         "postfilter_threshold" : 0.5,
         "s_threshold" : 0.5
      },
      "s_h_matched_threshold" : 0.29999999999999999,
      "s_m_package_path" : "./m_dir/20190820/s_500m_e300_0730_encrypt.s",
      "v_as" : [
         "./m_dir/20190820/as_hv/a_P8.txt",
         "./m_dir/20190820/as_hv/a_P7.txt",
         "./m_dir/20190820/as_hv/a_P6.txt",
         "./m_dir/20190820/as_hv/a_P5.txt",
         "./m_dir/20190820/as_hv/a_P4.txt",
         "./m_dir/20190820/as_hv/a_P3.txt"
      ],
      "v_config" : {
         "nms_threshold" : 0.5,
         "postfilter_threshold" : 0.59999999999999998,
         "s_threshold" : 0.59999999999999998
      }
   },
   "p_bin" : {
      "p_recognition_m_package_path" : "./m_dir/20190820/p_recog_m_0807_encrypt.s",
      "p_refiner_m_package_path" : "./m_dir/20190820/190717_p_bb_rgb_encrypt.s",
      "recognition_confidence" : 0.29999999999999999
   },
   "v_cls_bin" : {
      "v_cls_m_package_path" : "./m_dir/20190820/v_cycle_recog_0811_encrypt.s"
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值