在使用json是 需要添加 json库才能使用。
1、操作步骤都在注释中
void cloud_get_json_array()
{
cJSON *vpnList;
cJSON *obj;
cJSON *root;
root = cJSON_CreateObject();
// 向根节点添加一个 optype的Object,因为是整形,所以是 AddNumber...()
// 如果是字符串 则是,AddString..()
// 如果不组建数组格式的json,就按照这个格式依次添加即可
cJSON_AddNumberToObject(root, "optType", 22);
// json数组长度是3
int vpn_num = 3;
// 创建数组vpnList,并将其添加到根节点,这里可以理解为vpnList就是个[] 而已
cJSON_AddItemToObject(root, "vpnList", vpnList = cJSON_CreateArray());
for (int i = 0; i < vpn_num; i++) {
// 向数组中添加对象obj,把obj当成一个新的根节点
// 每一次循环就会创建一个obj,放到数组中。其实就是数组下角标[0]、[1]、[2]
// 每一个[i],都包含了 destIp connStatus upflow downflow 关键字
cJSON_AddItemToArray(vpnList, obj = cJSON_CreateObject());
cJSON_AddStringToObject(obj, "destIp", "127.1.1.111");
cJSON_AddNumberToObject(obj, "connStatus", i+250);
cJSON_AddNumberToObject(obj, "upflow", 192168250250);
cJSON_AddNumberToObject(obj, "downflow", 1270001111);
}
return;
}
运行的结果应该是这样的:
解析末尾是个人相关的信息就给涂鸦了,谅解!
左边是输出,右边是在线验证