void *upload(void *pParam)
{
CUpSender *s = (CUpSender*)pParam;
map<string, string> mx;
char tmp[20] = {0};
char filename[50] = {0};
string data = "";
while(1)
{
mx.clear();
FileLog(FILENAME, "in thread m_urlcount = [%d]", s->m_urlcount);
while(s->m_urlcount == 0)
{
FileLog(FILENAME, "there is no count files....wait ten seconds!!!!");
sleep(10);
}
//这里是将id的那部分获取出来存入map中
for(int i = 1; i != s->m_urlcount + 1; i++)
{
memset(tmp, 0, sizeof(tmp));
memset(filename, 0, sizeof(filename));
snprintf(tmp, sizeof(tmp), "%d", i);
snprintf(filename, sizeof(filename), "/apps/hotel/run_env/bin/id/%d", i);
ifstream iis(filename);
getline(iis, mx[tmp]);
FileLog(FILENAME, "read urlcount from %d = %s", filename, mx[tmp].c_str());
}
//这里开始组合
Json::Value root;
Json::Value roott;
Json::Value arrayObj;
Json::Value item;
for(map<string, string>::iterator it = mx.begin(); it != mx.end(); it++)
{
item["id"] = it->first;
arrayObj.append(item);
}
roott["mac"] = s->m_strDevMac;
roott["uploadfrequency"] = s->m_uploadfrequency;
roott["urls"] = arrayObj;
root["uwdupload"] = roott;
data = root.toStyledString();
FileLog(FILENAME, "the thread will send to peng webservice data : [%s], url = [%s]", data.c_str(), (s->m_threadurl).c_str());
s->SendCmd1(data, s->m_threadurl);
FileLog(FILENAME, "the thread sleeptime is : [%d]", s->m_threadtime);
sleep(s->m_threadtime);
}
}

  上边是合成的过程。


"uwdupload":{
"mac": "F0:D1:A9:C9:56:E8",
"uploadfrequency": "180",
"urls": [
{
    "id": "1",
"total": "100",
},
{
    "id": "2",
"total": "50",
},
{
"id": "3",
"total": "20",
}
]
}

  这是合成的结果。思想类同解析。

jsoncpp用法通俗易懂之将数据合成json格式的更多相关文章

  1. 数据转换为json格式的方法

    数据转换为json格式: 如果一张表中存在主外键关系,模板自动生成的类是不可以转换成JSON格式的,此时需要重新写一个类,类前面需加[DataContract],字段前需加[DataMember],实 ...

  2. jmeter随笔(1)-在csv中数据为json格式的数据不完整

    昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...

  3. C# 任意类型数据转JSON格式(转)

    HOT SUMMER 每天都是不一样,积极的去感受生活 C# 任意类型数据转JSON格式 /// <summary> /// List转成json /// </summary> ...

  4. 关于多条数据转为json格式单次传输的问题 2017.05.27

    数据形式如下: var mycars = [];//定义数组存放多条数据 for(var i=0;i<2;i++){ var jsonData = {};//定义变量存放单条数据 jsonDat ...

  5. 了解php数据转json格式与前端交互基础

    php数据转json格式与前端交互 ArryJson1.php <?php $test=array(); $word=array("我12","要43", ...

  6. 接口数据转json格式

    接口数据转json格式 function tojson($result, $callback = null){ header('Content-Type:text/html; charset=utf- ...

  7. jmeter 导入csv数据中json格式数据取值不完整

    1.jmeter中添加csv数据文件时,数据是json格式 2.jmeter中执行取值发现只取了一部分 分析原因,json格式数据,中间有逗号,而csv是根据逗号来分割的,这回导致我们取值错位. 解决 ...

  8. jsoncpp用法通俗易懂之解析

    刚工作不久,最近遇到一个要解析一个web服务器发过来的json格式的文件,文件如下: { "global": { "renew": "true&quo ...

  9. jquery下php与ajax的互传数据(json格式)自我总结

    研究了一整天的json数据与ajax的数据传输,现在进行一个小的自我总结,仅供参考 1.关于ajax的认识 $.ajax(),是jquery下包装好的一个函数:参考地址:http://www.w3sc ...

随机推荐

  1. busybox reboot 无效

    /*********************************************************************** * busybox reboot 无效 * 说明: * ...

  2. PHP 的snmp各个版本的Wrapper封装类

    原文来自:http://blog.chinaunix.net/uid-7654720-id-3211234.html class SNMP_Wrapper { protected $_host; pr ...

  3. NetSetMan IP地址切换工具

    http://www.netsetman.com/en/freeware NetSetMan NetSetMan是一个网络设置管理器,它可以很容易在6种不同的,视觉结构化的配置之间切换,包括: IP地 ...

  4. Java 性能优化实战记录(3)--JVM OOM的分析和原因追查

    前言: C/C++的程序员渴望Java的自由, Java程序员期许C/C++的约束. 其实那里都是围城, 外面的人想进来, 里面的人想出去. 背景: 作为Java程序员, 除了享受垃圾回收机制带来的便 ...

  5. 116. Populating Next Right Pointers in Each Node

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  6. php部分--数组(包含指针思想遍历数组);

    1.创建并输出数组 (1)相同数据类型的数组$attr=array(1,2,3,4,5); print_r($attr); echo "<br>"; $sttr1=ar ...

  7. JavaScript HTML DOM---遗漏知识再整理(向html添加/删除元素,改变内容和css)

    1.  HTML DOM 改变 HTML 内容:(HTML DOM 允许 JavaScript 改变 HTML 元素的内容.) (1)改变 HTML 输出流 在 JavaScript 中,docume ...

  8. 哪些函数不能为virtual函数

    1> 内联函数 内联函数是在编译时期展开,而虚函数的特性是运行时才动态联编,所以两者矛盾,不能定义内联函数为虚函数. 2> 构造函数 构造函数用来创建一个新的对象,而虚函数的运行是建立在对 ...

  9. UVa 489 刽子手游戏

    游戏规则,计算机想一个单词让你猜,你每次可以猜一个字母,如果单词里有那个字母,所有该字母都会显示出来,如果没有那个字母则计算机会在一副"刽子手"画上填一笔,这幅画一共需要7笔就能完 ...

  10. Codeforces Round #145 (Div. 2, ACM-ICPC Rules)

    A. Lefthanders and Righthanders \(i\)与\(i+\frac n2\)匹配,根据左右手调整位置. B. Reading 排序,取前\(k\)个. C. Weather ...