JsonCpp数据操作

#include <json/json.h>
#include <json/value.h>
#include <json/reader.h>
#include <json/forwards.h>
#include <json/config.h>

#define TEM_DEBUG(tmp) \
	std::cout << "[" << __DATE__ << "] "<< __LINE__ << " " << __FUNCTION__ <<" == debug: " << tmp << std::endl

#include <ostream>
#include <iostream>
#include <fstream>

using namespace std;

#ifdef _WIN32
#pragma comment(lib, "jsoncpp.lib")
#endif

#define N 5

int main(int argc, char* argv[])
{
        TEM_DEBUG("start test");
	Json::Value root;
	Json::Value totalCountry;
	Json::Value countryForest;
	Json::Value countryInfo;
	Json::Value country;
	Json::Value forestInfo;
	Json::Value forest;

	ofstream ofs;
	ofs.open("helloarray.txt");

	/**country info*/
	countryForest["1"] = "countryForest";
	countryForest["2"] = "countryForest";
	countryInfo["1"] = "countryInfo";
	countryInfo["2"] = "countryInfo";
	country["countryInfo"] = countryInfo;
	country["countryForest"] = countryForest;
	for(int i = 0; i < N; i++)
		totalCountry["country"].append(country);
	totalCountry["countryCount"] = N;
	root["totalCountry"] = totalCountry;


	/**forest info*/
	forestInfo["forestCount"] = N;
	forest["1"] = 1;
	forest["2"] = 2;
	for (int i = 0; i < N; i++)
		forestInfo["forest"].append(forest);
	root["forestInfo"] = forestInfo;

	/**extra info*/
	root["extraInfo"] = "extraInfo";
       
	std::string strJson = root.toStyledString();
        
         std::cout << strJson.c_str() << std::endl;    
    
	ofs.write(strJson.c_str(), strlen(strJson.c_str()));
	ofs.close();
        TEM_DEBUG("end test");
        cin.get();
	return 0;
}

结果:

{
	"extraInfo" : "extraInfo",
	"forestInfo" : 
	{
		"forest" : 
		[
			{
				"1" : 1,
				"2" : 2
			},
			{
				"1" : 1,
				"2" : 2
			},
			{
				"1" : 1,
				"2" : 2
			},
			{
				"1" : 1,
				"2" : 2
			},
			{
				"1" : 1,
				"2" : 2
			}
		],
		"forestCount" : 5
	},
	"totalCountry" : 
	{
		"country" : 
		[
			{
				"countryForest" : 
				{
					"1" : "countryForest",
					"2" : "countryForest"
				},
				"countryInfo" : 
				{
					"1" : "countryInfo",
					"2" : "countryInfo"
				}
			},
			{
				"countryForest" : 
				{
					"1" : "countryForest",
					"2" : "countryForest"
				},
				"countryInfo" : 
				{
					"1" : "countryInfo",
					"2" : "countryInfo"
				}
			},
			{
				"countryForest" : 
				{
					"1" : "countryForest",
					"2" : "countryForest"
				},
				"countryInfo" : 
				{
					"1" : "countryInfo",
					"2" : "countryInfo"
				}
			},
			{
				"countryForest" : 
				{
					"1" : "countryForest",
					"2" : "countryForest"
				},
				"countryInfo" : 
				{
					"1" : "countryInfo",
					"2" : "countryInfo"
				}
			},
			{
				"countryForest" : 
				{
					"1" : "countryForest",
					"2" : "countryForest"
				},
				"countryInfo" : 
				{
					"1" : "countryInfo",
					"2" : "countryInfo"
				}
			}
		],
		"countryCount" : 5
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

telllong

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值