// json.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <string> #include <iostream> #include <fstream> #include <ctime> // for time #include <cstdlib> // for rand srand using namespace std; #include <windows.h> // for tickcount64 #include "json/json.h" /**@brief low letter*/ static const char* sLetters = "abcdefghijklmnopqrstuvwxyz"; /**@brief low letter length*/ static const int sLen = strlen(sLetters); /** * describe generate random string for test * param{lenth} size of string to generation * return a random string */ string getRandomString(int lenth) { string s(lenth,' '); srand(time(0)); for(int i=0; i<lenth; ++i) { s += sLetters[rand()%sLen]; } return s; } /** * describe save json to local file * param{fn} file name to save * return void */ static void SavetoFile(const char* fn) { int i = 0; int j = 0; Json::Value root; // json root // dd_type,root member keys,which can be got by Value::members function,// you can use Value::isMember to test whether a key is belong to the Value static const char* dd_type[] = { "online","local","favorite",NULL}; srand(time(0)); while (dd_type[j]) { Json::Value items(Json::arrayValue); // json array type int cnt = rand()%20 + 100; for (int k=0; k<cnt; ++k) { Json::Value item; item["id"] = i++; item["url"] = getRandomString(rand()%10 + 5) + ".com"; item["read"] = i%2; items.append(item); } root[dd_type[j++]] = items; } { ofstream out(fn,ofstream::out | ofstream::binary); if (out.is_open()) { out << root; out.close(); } } } int _tmain(int argc,_TCHAR* argv[]) { LONG64 s = GetTickCount64(); SavetoFile("out.json"); cout << "OK,time elapsed: " << GetTickCount64() - s << " ms"; getchar(); return 0; }
原文地址:https://www.jb51.cc/json/290485.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。