• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ cJSON_CreateString函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中cJSON_CreateString函数的典型用法代码示例。如果您正苦于以下问题:C++ cJSON_CreateString函数的具体用法?C++ cJSON_CreateString怎么用?C++ cJSON_CreateString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了cJSON_CreateString函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ixcgi_reqstb_recording

int ixcgi_reqstb_recording(char *handle, int fe_id, int ch_id, char *in, size_t in_size)
{
    cJSON   *root;
    char    *out;
    size_t  n_recv;

    if ((root = cJSON_CreateObject()) == NULL)
        return -1;

    cJSON_AddItemToObject(root, HTTPD_OPCODE, cJSON_CreateString(HTTPD_RECORDING));
    cJSON_AddItemToObject(root, HTTPD_RECORDING_MY_IP, cJSON_CreateString(getenv("REMOTE_ADDR")));

    if (handle[0]) {
        cJSON_AddItemToObject(root, HTTPD_RECORDING_STOP, cJSON_CreateString(handle));
    } else {
        cJSON_AddItemToObject(root, HTTPD_RECORDING_FE_ID, cJSON_CreateNumber(fe_id));
        if (ch_id > 0)
            cJSON_AddItemToObject(root, HTTPD_RECORDING_CH_ID, cJSON_CreateNumber(ch_id));
    }

    n_recv = send_recv_stbd(out = cJSON_Print(root), in, in_size, 2000);

    cJSON_Delete(root);
    free(out);

    return (n_recv == 0) ? -1 : 0 ;
}
开发者ID:SpiderCast,项目名称:mini-streaming-server,代码行数:27,代码来源:ixcgi_reqstb.c


示例2: ixcgi_reqstb_channel_list

int ixcgi_reqstb_channel_list(int fe_id, int rf_id, char *in, size_t in_size)
{
    cJSON   *root;
    char    *out;
    size_t  n_recv;

    if ((root = cJSON_CreateObject()) == NULL)
        return -1;

    cJSON_AddItemToObject(root, HTTPD_OPCODE, cJSON_CreateString(HTTPD_CHANNEL_LIST));
    cJSON_AddItemToObject(root, HTTPD_CHANNEL_LIST_MY_IP, cJSON_CreateString(getenv("REMOTE_ADDR")));

    if (fe_id >= 0) {
        cJSON_AddItemToObject(root, HTTPD_CHANNEL_LIST_FE_ID, cJSON_CreateNumber(fe_id));
        if (rf_id > 0)
            cJSON_AddItemToObject(root, HTTPD_CHANNEL_LIST_RF_ID, cJSON_CreateNumber(rf_id));
    }

    n_recv = send_recv_stbd(out = cJSON_Print(root), in, in_size, 2000);

    cJSON_Delete(root);
    free(out);

    return (n_recv == 0) ? -1 : 0 ;
}
开发者ID:SpiderCast,项目名称:mini-streaming-server,代码行数:25,代码来源:ixcgi_reqstb.c


示例3: ixcgi_reqstb_update_dvbs_tp

int ixcgi_reqstb_update_dvbs_tp(ix_dvbs_tp_t *dvbs_tp, char *in, size_t in_size)
{
    cJSON   *root, *item;
    char    *out;
    size_t  n_recv;

    if ((root = cJSON_CreateObject()) == NULL)
        return -1;

    cJSON_AddItemToObject(root, HTTPD_OPCODE, cJSON_CreateString(HTTPD_UPDATE_DVBS_TP));
    cJSON_AddItemToObject(root, HTTPD_UPDATE_DVBS_TP_MY_IP, cJSON_CreateString(getenv("REMOTE_ADDR")));
    cJSON_AddItemToObject(root, HTTPD_UPDATE_DVBS_TP_DVBS_TP, item = cJSON_CreateObject());

    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_RF_ID, cJSON_CreateNumber(dvbs_tp->rf_id));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_FREQ, cJSON_CreateNumber(dvbs_tp->freq));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_SYM, cJSON_CreateNumber(dvbs_tp->sym));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_POLAR, cJSON_CreateNumber(dvbs_tp->polar));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_DELIVERY, cJSON_CreateNumber(dvbs_tp->system));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_MODULATION, cJSON_CreateNumber(dvbs_tp->modulation));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_ORG_NETID, cJSON_CreateNumber(dvbs_tp->org_netid));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_NETID, cJSON_CreateNumber(dvbs_tp->netid));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_TP_DVBS_TP_TSID, cJSON_CreateNumber(dvbs_tp->tsid));

    n_recv = send_recv_stbd(out = cJSON_Print(root), in, in_size, 2000);

    cJSON_Delete(root);
    free(out);

    return (n_recv == 0) ? -1 : 0 ;
}
开发者ID:SpiderCast,项目名称:mini-streaming-server,代码行数:30,代码来源:ixcgi_reqstb.c


示例4: ixcgi_reqstb_update_dvbs

int ixcgi_reqstb_update_dvbs(ix_dvbs_t *dvbs, char *in, size_t in_size)
{
    cJSON   *root, *item;
    char    *out;
    size_t  n_recv;

    if ((root = cJSON_CreateObject()) == NULL)
        return -1;

    cJSON_AddItemToObject(root, HTTPD_OPCODE, cJSON_CreateString(HTTPD_UPDATE_DVBS));
    cJSON_AddItemToObject(root, HTTPD_UPDATE_DVBS_MY_IP, cJSON_CreateString(getenv("REMOTE_ADDR")));
    cJSON_AddItemToObject(root, HTTPD_UPDATE_DVBS_DVBS, item = cJSON_CreateObject());

    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_SAT_ID, cJSON_CreateNumber(dvbs->sat_id));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_NAME, cJSON_CreateString(dvbs->name));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_LNB, cJSON_CreateNumber(dvbs->lnb));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_LNBF_LO, cJSON_CreateNumber(dvbs->lnbf_lo));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_LNBF_HI, cJSON_CreateNumber(dvbs->lnbf_hi));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_LNBF_REF, cJSON_CreateNumber(dvbs->lnbf_ref));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_LNBP, cJSON_CreateNumber(dvbs->lnbp));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_DISEQC, cJSON_CreateNumber(dvbs->diseqc));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_DISEQC_PORT, cJSON_CreateNumber(dvbs->diseqc_port));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_SAT_POS, cJSON_CreateNumber(dvbs->sat_pos));
    cJSON_AddItemToObject(item, HTTPD_UPDATE_DVBS_DVBS_KEY_TP, cJSON_CreateNumber(dvbs->key_tp));

    n_recv = send_recv_stbd(out = cJSON_Print(root), in, in_size, 2000);

    cJSON_Delete(root);
    free(out);

    return (n_recv == 0) ? -1 : 0 ;
}
开发者ID:SpiderCast,项目名称:mini-streaming-server,代码行数:32,代码来源:ixcgi_reqstb.c


示例5: cJSON_CreateObject

void WebInterface::onGrooveEvent(GrooveEvent& event)
{
	// send event to websocket
	unsigned char outbuf[128];

	cJSON* pJson = cJSON_CreateObject();

	const char* eventName = nullptr;
	eventName = GrooveEvent_getNameString(event.getEvent());
	cJSON_AddItemToObject(pJson,"event",cJSON_CreateString(eventName));

	const char* controlName = nullptr;
	controlName = GrooveControl_getNameString(event.getControl());
	cJSON_AddItemToObject(pJson,"control",cJSON_CreateString(controlName));

	cJSON_AddItemToObject(pJson,"argv",cJSON_CreateNumber(event.getInt()));
	cJSON_AddItemToObject(pJson,"string",cJSON_CreateString(event.getString()));

	char* c = cJSON_PrintUnformatted(pJson);

	printf ("send: %s\n",c);

	outbuf[0] = 0x81;
	outbuf[1] = snprintf((char *) outbuf + 2, sizeof(outbuf) - 2, "%s", c);
	mg_write(_conn, outbuf, 2 + outbuf[1]);

	free(c);
	cJSON_Delete(pJson);
}
开发者ID:eriser,项目名称:rejuce,代码行数:29,代码来源:WebInterface.cpp


示例6: server_dB

void server_dB(socket_t * client, db_t * db, list_t * lt)
{
    int cntPens = db_countPensioner(db);
    for(int i = 0; i < cntPens; i++)
    {
        list_push_back(lt, db_getPensionerById(db, i));
    }

    cJSON * arr = cJSON_CreateArray();

    for(int i = 1; i < list_getSize(lt); i++)
    {
        cJSON * pens = cJSON_CreateObject();
        pensioner_t * ps = list_get(lt, i);
        cJSON_AddItemToObject(pens, "name", cJSON_CreateString(pensioner_getName(ps)));
        cJSON_AddItemToObject(pens, "surname", cJSON_CreateString(pensioner_getSurname(ps)));
        cJSON_AddItemToObject(pens, "year", cJSON_CreateNumber(pensioner_getAge(ps)));
        cJSON_AddItemToObject(pens, "experience", cJSON_CreateNumber(pensioner_getExperience(ps)));
        cJSON_AddItemToObject(pens, "pension", cJSON_CreateNumber(pensioner_getPension(ps)));
        cJSON_AddItemToObject(pens, "surname", cJSON_CreateString(pensioner_getYear(ps)));
        cJSON_AddItemToArray(arr, pens);
    }
    char * Jtext = cJSON_Print(arr);
    server_sent(client, Jtext);
    free(Jtext);
}
开发者ID:DariaDar,项目名称:Reposit,代码行数:26,代码来源:server.c


示例7: msg_content_array_to_json_object_string

char* msg_content_array_to_json_object_string(msg_content_array_t* array, const char* key)
{
    size_t i;
    cJSON* cjson_object = cJSON_CreateObject();
    cJSON* cjson_array = cJSON_CreateArray();
    char* ret;

    for (i = 0; i < array->count; ++i)
    {
        switch (array->vals[i].type)
        {
        case MSG_CONTENT_TYPE_STRING:
            cJSON_AddItemToArray(cjson_array, cJSON_CreateString(array->vals[i].string.ptr));
            break;
        case MSG_CONTENT_TYPE_FACE:
            {
                cJSON* cjson_tmp = cJSON_CreateArray();
                cJSON_AddItemToArray(cjson_tmp, cJSON_CreateString("face"));
                cJSON_AddItemToArray(cjson_tmp, cJSON_CreateNumber(array->vals[i].face_id));
                cJSON_AddItemToArray(cjson_array, cjson_tmp);
            }
            break;
        default:
            break;
        }
    }
    cJSON_AddItemToObject(cjson_object, key, cjson_array);
    ret = cJSON_PrintUnformatted(cjson_object);
    cJSON_Delete(cjson_object);
    return ret;
}
开发者ID:lwch,项目名称:QQRobot,代码行数:31,代码来源:struct.c


示例8: st_setVideoFormat

static int st_setVideoFormat(const char *output, const char *mode)
{
	elcdRpcType_t type;
	cJSON *res  = NULL;
	cJSON *params = cJSON_CreateObject();
	int    ret = 1;

	cJSON_AddItemToObject(params, "output", cJSON_CreateString(output));
	cJSON_AddItemToObject(params, "mode", cJSON_CreateString(mode));
	ret = st_rpcSync(elcmd_setvmode, params, &type, &res);
//	ret = st_rpcSyncTimeout( elcmd_setvmode, mode, 1, &type, &res );

	if( ret == 0 && type == elcdRpcResult && res && res->type == cJSON_String ) {
		if( strcmp(res->valuestring, "ok") ) {
			eprintf("%s: failed: %s\n", __FUNCTION__, res->valuestring);
			ret = 1;
		} else {
			stHelper_indicatorShowVideoFormat(mode);
		}
	} else if ( type == elcdRpcError && res && res->type == cJSON_String ) {
		eprintf("%s: error: %s\n", __FUNCTION__, res->valuestring);
		ret = 1;
	}
	cJSON_Delete(res);
	cJSON_Delete(params);

	return ret;
}
开发者ID:ElecardSTB,项目名称:elecard-apps,代码行数:28,代码来源:stsdk.c


示例9: generateSIBDefinedSubscribeMessageWithParam

ssap_message* generateSIBDefinedSubscribeMessageWithParam(const char* sessionKey, const char* query, map_t *params){
    ssap_message* queryMessage = allocateSsapMessage();
    cJSON *body;
    
    body=cJSON_CreateObject();  
    
    cJSON_AddItemToObject(body, "data", cJSON_CreateNull());
    cJSON_AddItemToObject(body, "query", cJSON_CreateString(query));
    cJSON_AddItemToObject(body, "queryType", cJSON_CreateString("SIB_DEFINED"));
    
    cJSON *queryParams;
    queryParams=cJSON_CreateObject();
    
    size_t i;
    for(i=0;i<params->size;i++){
        cJSON_AddItemToObject(queryParams, params->data[i].key, cJSON_CreateString(params->data[i].value));
    }
    
    cJSON_AddItemToObject(body, "queryParams", queryParams);
    
    queryMessage->body=cJSON_PrintUnformatted(body);
    queryMessage->direction = REQUEST;
    queryMessage->messageId = NULL;
    queryMessage->messageType=QUERY;
    queryMessage->ontology=NULL;
   
    queryMessage->sessionKey=(char*) malloc((strlen(sessionKey)+1)*sizeof(char));
    strcpy(queryMessage->sessionKey, sessionKey);
    
    queryMessage->persistenceType=MONGODB;
    
    cJSON_Delete(body); //This method frees the memory of the key-value pairs
    freeMap(params);
    return queryMessage;
}
开发者ID:Sofia2,项目名称:c-api,代码行数:35,代码来源:SsapMessageGenerator.c


示例10: generateBulkMessage

ssap_message* generateBulkMessage(const char* sessionKey, const char* ontology, bulkRequest* request){
    ssap_message* bulkMessage = allocateSsapMessage();
    cJSON *body;
    
    body = cJSON_CreateArray();
    size_t i;
    for (i = 0; i < request->size; i++){
      cJSON *ssapBulkItem = cJSON_CreateObject();
      ssap_message* msg = request->payload[i];
      cJSON_AddItemToObject(ssapBulkItem, "type", cJSON_CreateString(messageTypeToString(msg->messageType)));
      cJSON_AddItemToObject(ssapBulkItem, "body", cJSON_CreateString(msg->body));
      cJSON_AddItemToObject(ssapBulkItem, "ontology", cJSON_CreateString(msg->ontology));
      cJSON_AddItemToArray(body, ssapBulkItem);
    }    
    
    bulkMessage->body=cJSON_PrintUnformatted(body);
    bulkMessage->direction = REQUEST;
    bulkMessage->messageId=NULL;
    bulkMessage->messageType=BULK;
    bulkMessage->ontology=(char*) malloc((strlen(ontology)+1)*sizeof(char));
    strcpy(bulkMessage->ontology, ontology);
    bulkMessage->sessionKey=(char*) malloc((strlen(sessionKey)+1)*sizeof(char));
    strcpy(bulkMessage->sessionKey, sessionKey);
    bulkMessage->persistenceType=MONGODB;
 
    cJSON_Delete(body);
    freeBulkRequest(request);
    return bulkMessage;
}
开发者ID:Sofia2,项目名称:c-api,代码行数:29,代码来源:SsapMessageGenerator.c


示例11: conference_event_adv_la

void conference_event_adv_la(conference_obj_t *conference, conference_member_t *member, switch_bool_t join)
{

	//if (switch_core_session_media_flow(member->session, SWITCH_MEDIA_TYPE_VIDEO) == SWITCH_MEDIA_FLOW_SENDONLY) {
	switch_channel_set_flag(member->channel, CF_VIDEO_REFRESH_REQ);
	switch_core_media_gen_key_frame(member->session);
	//}

	if (conference && conference->la && member->session &&
		!switch_channel_test_flag(member->channel, CF_VIDEO_ONLY)) {
		cJSON *msg, *data;
		const char *uuid = switch_core_session_get_uuid(member->session);
		const char *cookie = switch_channel_get_variable(member->channel, "event_channel_cookie");
		const char *event_channel = cookie ? cookie : uuid;
		switch_event_t *variables;
		switch_event_header_t *hp;

		msg = cJSON_CreateObject();
		data = json_add_child_obj(msg, "pvtData", NULL);

		cJSON_AddItemToObject(msg, "eventChannel", cJSON_CreateString(event_channel));
		cJSON_AddItemToObject(msg, "eventType", cJSON_CreateString("channelPvtData"));

		cJSON_AddItemToObject(data, "action", cJSON_CreateString(join ? "conference-liveArray-join" : "conference-liveArray-part"));
		cJSON_AddItemToObject(data, "laChannel", cJSON_CreateString(conference->la_event_channel));
		cJSON_AddItemToObject(data, "laName", cJSON_CreateString(conference->la_name));
		cJSON_AddItemToObject(data, "role", cJSON_CreateString(conference_utils_member_test_flag(member, MFLAG_MOD) ? "moderator" : "participant"));
		cJSON_AddItemToObject(data, "chatID", cJSON_CreateString(conference->chat_id));
		cJSON_AddItemToObject(data, "canvasCount", cJSON_CreateNumber(conference->canvas_count));

		if (conference_utils_member_test_flag(member, MFLAG_SECOND_SCREEN)) {
			cJSON_AddItemToObject(data, "secondScreen", cJSON_CreateTrue());
		}

		if (conference_utils_member_test_flag(member, MFLAG_MOD)) {
			cJSON_AddItemToObject(data, "modChannel", cJSON_CreateString(conference->mod_event_channel));
		}

		cJSON_AddItemToObject(data, "chatChannel", cJSON_CreateString(conference->chat_event_channel));

		switch_core_get_variables(&variables);
		for (hp = variables->headers; hp; hp = hp->next) {
			if (!strncasecmp(hp->name, "conference_verto_", 17)) {
				char *var = hp->name + 17;
				if (var) {
					cJSON_AddItemToObject(data, var, cJSON_CreateString(hp->value));
				}
			}
		}
		switch_event_destroy(&variables);

		switch_event_channel_broadcast(event_channel, &msg, "mod_conference", conference_globals.event_channel_id);

		if (cookie) {
			switch_event_channel_permission_modify(cookie, conference->la_event_channel, join);
			switch_event_channel_permission_modify(cookie, conference->mod_event_channel, join);
			switch_event_channel_permission_modify(cookie, conference->chat_event_channel, join);
		}
	}
}
开发者ID:prashantchoudhary,项目名称:FreeswitchModified,代码行数:60,代码来源:conference_event.c


示例12: messageObserve

//Handler for Observe request
void messageObserve(MessageData* md) {
	int i = 0;
	MQTTMessage* message = md->message;
	void *payload = message->payload;
	char* respMsg;
	cJSON *resPayload, *resd, *resFields;
	resPayload = cJSON_CreateObject();
	cJSON_AddItemToObject(resPayload, "rc",
			cJSON_CreateNumber(RESPONSE_SUCCESS));
	cJSON * jsonPayload = cJSON_Parse(payload);
	cJSON* jreqId = cJSON_GetObjectItem(jsonPayload, "reqId");
	strcpy(currentRequestID, jreqId->valuestring);
	printf("Observe reqId:%s\n", currentRequestID);
	cJSON_AddItemToObject(resPayload, "reqId",
			cJSON_CreateString(currentRequestID));

	cJSON_AddItemToObject(resPayload, "d", resd = cJSON_CreateObject());

	cJSON_AddItemToObject(resd, "fields", resFields =
			cJSON_CreateArray());

	cJSON *d = cJSON_GetObjectItem(jsonPayload, "d");

	cJSON *fields = cJSON_GetObjectItem(d, "fields");

	//cJSON *fields = cJSON_GetObjectItem(jsonPayload,"fields");
	for (i = 0; i < cJSON_GetArraySize(fields); i++) {
		cJSON * field = cJSON_GetArrayItem(fields, i);

		cJSON* fieldName = cJSON_GetObjectItem(field, "field");

		cJSON * value = cJSON_GetArrayItem(fields, i);

		printf("Observe called for fieldName:%s\n",fieldName->valuestring);
		if (!strcmp(fieldName->valuestring, "mgmt.firmware")) {
			dmClient.bObserve = true;
			cJSON* resValue;
			cJSON* resField = cJSON_CreateObject();
			cJSON_AddItemToObject(resField, "field", cJSON_CreateString("mgmt.firmware"));
			cJSON_AddItemToObject(resField, "value", resValue = cJSON_CreateObject());
			cJSON_AddItemToObject(resValue, "state",
					cJSON_CreateNumber(
							dmClient.DeviceData.mgmt.firmware.state));

			cJSON_AddItemToObject(resValue, "updateStatus",
					cJSON_CreateNumber(
							dmClient.DeviceData.mgmt.firmware.updateStatus));

			cJSON_AddItemToArray(resFields,resField);

		}
	}
	respMsg = cJSON_Print(resPayload);
	cJSON_Delete(resPayload);
	//Publish the response to the IoTF
	publishActionResponse(RESPONSE, respMsg);

	cJSON_Delete(jsonPayload);
	free(respMsg);
}
开发者ID:JohnsonJian,项目名称:iot-embeddedc,代码行数:61,代码来源:devicemanagementclient.c


示例13: idx

    void
    OutofcoreOctreeBaseMetadata::serializeMetadataToDisk ()
    {
      // Create JSON object
      boost::shared_ptr<cJSON> idx (cJSON_CreateObject (), cJSON_Delete);
  
      cJSON* name = cJSON_CreateString (tree_name_.c_str ());
      cJSON* version = cJSON_CreateNumber ( __PCL_OUTOFCORE_VERSION__ );
      cJSON* pointtype = cJSON_CreateString (point_type_.c_str ());
      cJSON* lod = cJSON_CreateNumber (static_cast<double> (levels_of_depth_));

      // cJSON does not allow 64 bit ints.  Have to put the points in a double to
      // use this api, will allow counts up to 2^52 points to be stored correctly
      //or split into LSB MSB?
      std::vector<double> lodPoints_db;
      lodPoints_db.insert (lodPoints_db.begin (), LOD_num_points_.begin (), LOD_num_points_.end ());

      cJSON* numpts = cJSON_CreateDoubleArray ( &(lodPoints_db.front ()), static_cast<int>(lodPoints_db.size ()));

      cJSON_AddItemToObject (idx.get (), "name", name);
      cJSON_AddItemToObject (idx.get (), "version", version);
      cJSON_AddItemToObject (idx.get (), "pointtype", pointtype);
      cJSON_AddItemToObject (idx.get (), "lod", lod);
      cJSON_AddItemToObject (idx.get (), "numpts", numpts);
      cJSON_AddStringToObject(idx.get(), "coord_system", coordinate_system_.c_str());

      char* idx_txt = cJSON_Print (idx.get ());

      std::ofstream f (metadata_filename_.string ().c_str (), std::ios::out | std::ios::trunc);
      f << idx_txt;
      f.close ();

      free (idx_txt);
    }
开发者ID:2php,项目名称:pcl,代码行数:34,代码来源:outofcore_base_data.cpp


示例14: ensure_jsonitem

void ensure_jsonitem(cJSON *json,char *field,char *value)
{
    cJSON *obj = cJSON_GetObjectItem(json,field);
    if ( obj == 0 )
        cJSON_AddItemToObject(json,field,cJSON_CreateString(value));
    else cJSON_ReplaceItemInObject(json,field,cJSON_CreateString(value));
}
开发者ID:Bitcoinsulting,项目名称:libjl777,代码行数:7,代码来源:cJSON.c


示例15: msg_content_array_to_json_value

cJSON* msg_content_array_to_json_value(msg_content_array_t* array)
{
    size_t i;
    cJSON* cjson_array = cJSON_CreateArray();

    for (i = 0; i < array->count; ++i)
    {
        switch (array->vals[i].type)
        {
        case MSG_CONTENT_TYPE_STRING:
            cJSON_AddItemToArray(cjson_array, cJSON_CreateString(array->vals[i].string.ptr));
            break;
        case MSG_CONTENT_TYPE_FACE:
            {
                cJSON* cjson_tmp = cJSON_CreateArray();
                cJSON_AddItemToArray(cjson_tmp, cJSON_CreateString("face"));
                cJSON_AddItemToArray(cjson_tmp, cJSON_CreateNumber(array->vals[i].face_id));
                cJSON_AddItemToArray(cjson_array, cjson_tmp);
            }
            break;
        default:
            break;
        }
    }
    return cjson_array;
}
开发者ID:lwch,项目名称:QQRobot,代码行数:26,代码来源:struct.c


示例16: idx

template<typename Container, typename PointT> void
octree_base<Container, PointT>::saveToFile ()
{
    // Create JSON object
    boost::shared_ptr<cJSON> idx (cJSON_CreateObject (), cJSON_Delete);

    cJSON* name = cJSON_CreateString ("test");
    cJSON* version = cJSON_CreateNumber ( OUTOFCORE_VERSION_ );
    cJSON* pointtype = cJSON_CreateString ("urp");
    cJSON* lod = cJSON_CreateNumber (static_cast<double>(root_->m_tree_->max_depth_));

    // cJSON does not allow 64 bit ints.  Have to put the points in a double to
    // use this api, will allow counts up to 2^52 points to be stored correctly
    std::vector<double> lodPoints_db;
    lodPoints_db.insert (lodPoints_db.begin (), lodPoints_.begin (), lodPoints_.end ());

    cJSON* numpts = cJSON_CreateDoubleArray ( &(lodPoints_db.front ()), static_cast<int>(lodPoints_db.size ()) );

    cJSON_AddItemToObject (idx.get (), "name", name);
    cJSON_AddItemToObject (idx.get (), "version", version);
    cJSON_AddItemToObject (idx.get (), "pointtype", pointtype);
    cJSON_AddItemToObject (idx.get (), "lod", lod);
    cJSON_AddItemToObject (idx.get (), "numpts", numpts);
    cJSON_AddStringToObject(idx.get(), "coord_system", coord_system_.c_str());

    char* idx_txt = cJSON_Print (idx.get ());

    std::ofstream f (treepath_.string ().c_str (), std::ios::out | std::ios::trunc);
    f << idx_txt;
    f.close ();

    free (idx_txt);
}
开发者ID:xhy20070406,项目名称:PCL,代码行数:33,代码来源:octree_base.hpp


示例17: compose_patch

static void compose_patch(cJSON * const patches, const unsigned char * const operation, const unsigned char * const path, const unsigned char *suffix, const cJSON * const value)
{
    cJSON *patch = cJSON_CreateObject();
    if (patch == NULL)
    {
        return;
    }
    cJSON_AddItemToObject(patch, "op", cJSON_CreateString((const char*)operation));

    if (suffix == NULL)
    {
        cJSON_AddItemToObject(patch, "path", cJSON_CreateString((const char*)path));
    }
    else
    {
        size_t suffix_length = pointer_encoded_length(suffix);
        size_t path_length = strlen((const char*)path);
        unsigned char *full_path = (unsigned char*)cJSON_malloc(path_length + suffix_length + sizeof("/"));

        sprintf((char*)full_path, "%s/", (const char*)path);
        encode_string_as_pointer(full_path + path_length + 1, suffix);

        cJSON_AddItemToObject(patch, "path", cJSON_CreateString((const char*)full_path));
        cJSON_free(full_path);
    }

    if (value != NULL)
    {
        cJSON_AddItemToObject(patch, "value", cJSON_Duplicate(value, 1));
    }
    cJSON_AddItemToArray(patches, patch);
}
开发者ID:HanYu1983,项目名称:HanWork,代码行数:32,代码来源:cJSON_Utils.c


示例18: switch

cJSON *Value::toCJSON(const Value &value)
{
    switch (value.type()) {
    case Value::Type_Boolean: return value.toBool() ? cJSON_CreateTrue() : cJSON_CreateFalse();
    case Value::Type_Date:
    case Value::Type_Integer: return cJSON_CreateNumber(value.toInteger());
    case Value::Type_Double: return cJSON_CreateNumber(value.toDouble());
    case Value::Type_String: return cJSON_CreateString(value.toString().constData());
    case Value::Type_List: {
        cJSON *array = cJSON_CreateArray();
        for (const auto &v : *value.listPtr())
            cJSON_AddItemToArray(array, toCJSON(v));
        return array; }
    case Value::Type_Map: {
        cJSON *object = cJSON_CreateObject();
        for (const auto &v : *value.mapPtr())
            cJSON_AddItemToObject(object, v.first.constData(), v.second.toCJSON(v.second));
        return object; }
    case Value::Type_Invalid:
        break;
    case Value::Type_Undefined:
        break;
    case Value::Type_Custom:
        if (std::shared_ptr<Value::Custom> custom = value.toCustom()) {
            cJSON *ret = cJSON_CreateString(custom->toString().constData());
            if (ret) {
                ret->type = cJSON_RawString;
                return ret;
            }
        }
        break;
    }
    return cJSON_CreateNull();
}
开发者ID:hjanetzek,项目名称:rct,代码行数:34,代码来源:Value.cpp


示例19: ont_video_dev_fileinfo_upload

int ont_video_dev_fileinfo_upload(void *_dev, int channel, t_ont_video_file *list, int n)
{
	ont_device_t *dev = _dev;
	char dsname[64];
	int i = 0;
	
	ont_platform_snprintf(dsname, sizeof(dsname), "ont_video_%d_mqtt_test_video", channel);

	cJSON *json = NULL;
	char *jsonValue = NULL;
	//"beginTime" : "2016-10-19 16:30:30",
	//"endTime" : "2016-10-20 16:30:30",  
	//"vedioDesc" : "video2"
	for (i = 0; i < n; i++)
	{
		json = cJSON_CreateObject();
		cJSON_AddItemToObject(json, "dst", cJSON_CreateString("video"));
		cJSON_AddItemToObject(json, "beginTime", cJSON_CreateString(list[i].begin_time));
		cJSON_AddItemToObject(json, "endTime", cJSON_CreateString(list[i].end_time));
		cJSON_AddItemToObject(json, "vedioDesc", cJSON_CreateString(list[i].descrtpion));
		jsonValue = cJSON_PrintUnformatted(json);
		ont_device_add_dp_object(dev, dsname, jsonValue);
		ont_platform_free(jsonValue);
		cJSON_Delete(json);
	}
	ont_device_send_dp(dev);
	return 0;
}
开发者ID:taolinbg,项目名称:video_sdk,代码行数:28,代码来源:ont_mqtt_video.c


示例20: ramchain_ledgerhash

int32_t ramchain_ledgerhash(char *retbuf,int32_t maxlen,struct coin777 *coin,struct ramchain *ramchain,cJSON *argjson)
{
    struct coin777_hashes H[32]; int32_t i,n; char ledgerhash[65],*jsonstr; cJSON *item,*array,*json;
    if ( coin == 0 )
    {
        sprintf(retbuf,"{\"error\":\"null coin ptr\",\"coin\":\"%s\"}",coin->name);
        return(-1);
    }
    json = cJSON_CreateObject();
    if ( (n= coin777_syncblocks(H,(int32_t)(sizeof(H)/sizeof(*H)),coin)) > 0 )
    {
        array = cJSON_CreateArray();
        for (i=0; i<n; i++)
        {
            if ( coin777_ledgerhash(ledgerhash,&H[i]) == 0 )
            {
                item = cJSON_CreateArray();
                cJSON_AddItemToArray(item,cJSON_CreateNumber(H[i].blocknum));
                cJSON_AddItemToArray(item,cJSON_CreateString(ledgerhash));
                cJSON_AddItemToArray(array,item);
            }
        }
        cJSON_AddItemToObject(json,"result",cJSON_CreateString("success"));
        cJSON_AddItemToObject(json,"coin",cJSON_CreateString(coin->name));
        cJSON_AddItemToObject(json,"latest",cJSON_CreateNumber(ramchain->blocknum));
        cJSON_AddItemToObject(json,"ledgerhashes",array);
        jsonstr = cJSON_Print(json), free_json(json);
        _stripwhite(jsonstr,' ');
        strncpy(retbuf,jsonstr,maxlen-1), retbuf[maxlen-1] = 0;
        free(jsonstr);
        return(0);
    }
    sprintf(retbuf,"{\"error\":\"no sync data\",\"coin\":\"%s\"}",coin->name);
    return(-1);
}
开发者ID:EuropecoinEUORG,项目名称:libjl777,代码行数:35,代码来源:ramchain.c



注:本文中的cJSON_CreateString函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ cJSON_Delete函数代码示例发布时间:2022-05-30
下一篇:
C++ cJSON_CreateObject函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap