码迷,mamicode.com
首页 > Web开发 > 详细

vc中json文件的读取、修改和添加字段的方法

时间:2015-05-18 23:14:51      阅读:429      评论:0      收藏:0      [点我收藏+]

标签:json   wtl   radir button   

前言:

  • 本代码涉及到对json文件的读取、修改和添加方法
  • WTL中radir button的状态判断和设置可选以及取消可选

示例:

所需头文件:
#include <json.h>
#include <file_io.h>

代码部分:
//读取下载线路在界面上的radir button中显示
void CMainDlg::read_download_line_from_cfg()
{
	std_string strDownloadLine;
	file_io<> json_file("c://test.json", "r"); //
	json_value<> json_values_data;
	if (json_parse(json_values_data, json_file))
	{
		strDownloadLine = json_values_data["deflink"].get_string(); //读取json文件中deflink字段的值
		if (strDownloadLine == "1")
		{	
			CButton btn; 
			btn.Attach(GetDlgItem(IDC_RADIO_ONE).m_hWnd); 
			btn.SetCheck(true);    //wtl中修改radir button状态的方法
			json_file.close();
		}
		else if(strDownloadLine == "2")
		{
			CButton btn;
			btn.Attach(GetDlgItem(IDC_RADIO_TWO).m_hWnd);
			btn.SetCheck(true);
			json_file.close();
		}
	}
}

//如果要修改json文件中的值,则需要先读取出来,然后使用json_pretty_write修改
void CMainDlg::update_cfg_config()
{
	file_io<> json_file("c://test.json", "r+");
	json_value<> json_values_data;
	if (json_parse(json_values_data, json_file))  //把json文件读取到json_values_data中
	{
		json_file.close();	
	}
	else
	{
		return;
	}

	bool isNeedUpate = json_values_data["flag"].is_string(); //判断flag字段是不是字符串(这儿用于判断flag字段是否存在)
	if (isNeedUpate)
	{
		return;
	}
	json_values_data["deflink"] = "ct";     //修改deflink字段为ct
	json_values_data["flag"] = "new";       //如果不存在flag,则添加flag字段
	json_values_data["notify"] = "http://www.baidu.com";  //添加notify字段
	file_io<> f_l_cfg("c://test.json", "w");
	json_pretty_write(f_l_cfg, json_values_data, "	"); //重新写入test.json文件中
	f_l_cfg.close(); //使用完后记得关闭文件
}


vc中json文件的读取、修改和添加字段的方法

标签:json   wtl   radir button   

原文地址:http://blog.csdn.net/qingzai_/article/details/45824789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!