示例代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h> char *strrpc(char *str,char *oldstr,char *newstr){
/*
将一个字符串中的某些字符进行替换
str 需要替换的字符串
oldstr 旧的字符串
newstr 新的字符串
*/
char bstr[strlen(str)];//转换缓冲区
memset(bstr,0,sizeof(bstr)); for(int i = 0;i < strlen(str);i++){
if(!strncmp(str+i,oldstr,strlen(oldstr))){//查找目标字符串
strcat(bstr,newstr);
i += strlen(oldstr) - 1;
}else{
strncat(bstr,str + i,1);//保存一字节进缓冲区
}
} strcpy(str,bstr);
return str;
} char *split(char * src,char * str){
/*
传入一个数组进行p和一个以什么进行分割的str,返回切片后的值
*/ int i = 0, j = 0;
char tmp[128][128] = {0};
char *p1 = (char *)malloc(1024);
char joint_result[300]; while((p1 = (char *)strchr(src, *str)) != NULL) //必须使用(char *)进行强制类型转换
{
strncpy(tmp[i], src, strlen(src) - strlen(p1));
src = p1 + 1;
i ++;
}
strncpy(tmp[i], src, strlen(src)); //对分割后的结果再次进行拼接
for(j = 0; j <= i-1; j++){ //i-1因为不需要最后一个字段
if (j == 0){
sprintf(joint_result,"%s%s%s","{\"",tmp[j],"\",");
}else if (j != (i-1)){
sprintf(joint_result,"%s%s%s%s",joint_result,"\"",tmp[j],"\",");
}else{
sprintf(joint_result,"%s%s%s%s",joint_result,"\"",tmp[j],"\"}");
}
} return strrpc(joint_result,"=","\":\"");//调用strrpc将字符串中的【=】替换为【":"】并return最终结果
} int main (void){ char p[] = "name=laowang&id=001&money=1888.00&birthday=201808088888";
char str[] = "&"; //分割的字符串
char * result; result = split(p,str);
printf("%s",result); //输出最终结果 return 0;
}
dev-c++中执行结果:
{"name":"laowang","id":"001","money":"1888.00"}

C语言将字符串转json的更多相关文章

  1. Json字符串和Json对象的简单总结

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...

  2. JavaScript操作JSON的方法总结,JSON字符串转换为JSON对象

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...

  3. GO语言练习:构建json 和 解析JSON 实例

    本文介绍如何使用Go语言自带的库把对象转换为JSON格式,并在channel中进行传输后,并把JSON格式的信息转换回对象. 1.Go语言的JSON 库 Go语言自带的JSON转换库为 encodin ...

  4. JavaScript中,JSON格式的字符串与JSON格式的对象相互转化

    前言:JSON是一个独立于任何语言的数据格式,因此,严格来说,没有“JSON对象”和“JSON字符串”这个说法(然而”菜鸟教程“和”W3school“使用了“JSON对象”和“JSON字符串”这个说法 ...

  5. [日常] Go语言圣经--结构体,JSON习题

    Go语言圣经-结构体 1.结构体是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体 2.通常一行对应一个结构体成员,成员的名字在前类型在后,不过如果相邻的成员类型如果相同的话可以被合并到一行 ...

  6. json字符串和Json对象,以及json的基本了解

    考虑到python等语言中没有更好表示json对象的方法,所以使用JavaScript来介绍json 首先是json字符串: var str1 = '{ "name": " ...

  7. go语言之进阶篇JSON处理

    一.JSON处理 JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成.尽管JSON是JavaScr ...

  8. json字符串转为json对象-jQuery.parseJSON()

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. Python web前端 08 字符串 数组 json

    Python web前端 08 字符串 数组 json 一.string #string 字符串 #索引 下标 偏移量 ---从0开始 str[index]; #通过索引取字符串 可读不可写 str. ...

随机推荐

  1. iTOP-4418开发板Ubuntu系统烧写方法分享

    开发平台:迅为iTOP-4418开发板    系统:Ubuntu   1. TF卡读写速度测试 烧写 Ubuntu 对于 TF 卡的要求比较高,很多老旧的卡都无法烧写 Ubuntu,下面提供一种 相对 ...

  2. centOS7 tomcat 开机自启 自启动设置

    1.编写配置文件 // (1)修改tomcat.service vim /lib/systemd/system/tomcat.service // (2)复制以下代码,注意修改tomcat路径 [Un ...

  3. qt5.6.2简单操作mysql数据库

    1.新建个项目后,需要在.pro工程文件在中添加QT += sql,否则编译会出错: 2.如果出现数据库驱动未加载,则需要把mysql下的libmysql.dll拷贝到D:\Qt5.6.2\5.6\m ...

  4. python答题辅助

    最近直播答题app很热门,由于之前看过跳一跳的python脚本(非常棒),于是也想写一个答题的脚本. https://github.com/huanmsf/cai 思路: 1.截图 2.文字识别,提取 ...

  5. 绕过PALOALTO TRAPS EDR解决方案

    0x1 技术点 PaloAlto Traps(EDR解决方案)基于行为封锁和标记许多黑客工具. 0x2 绕过方法 最简单的解决方案就是禁用内置实用程序,即; Cytool.Cytool是一个集成命令行 ...

  6. 【转】python之配置日志的几种方式

    [转]python之配置日志的几种方式 作为开发者,我们可以通过以下3种方式来配置logging: 1)使用Python代码显式的创建loggers, handlers和formatters并分别调用 ...

  7. 广联达 BIM5D 云平台---《建筑信息模型标准》解读

    广联达 BIM5D 云平台: 1.用户管理:  https://account.glodon.com/info 2.模型使用:  http://bim5d-hunan.glodon.com/api/v ...

  8. 2018 Multi-University Training Contest - Team 1 题解

    Solved A HDU 6298 Maximum Multiple Solved B HDU 6299 Balanced Sequence Solved C HDU 6300 Triangle Pa ...

  9. Holedox Eating HDU - 4302 2012多校C 二分查找+树状数组/线段树优化

    题意 一个长度$n<=1e5$的数轴,$m<=1e5$个操作 有两种一些操作 $0$  $x$ 在$x$放一个食物 $1$ 一个虫子去吃最近的食物,如果有两个食物一样近,不转变方向的去吃 ...

  10. mysql查询sending data占用大量时间的问题处理

    问题描述:某条sql语句在测试环境执行只需要1秒不到,到了生产环境执行需要8秒以上 在phpmyadmin里面执行性能分析,发现sending data占用了差不多90%以上的时间 查询一下“Send ...