示例代码:

#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. ASP.NET MVC - WEB API

    ASP.NET WEB API 与WEB API有关的类型 HttpMessageHandler(System.Net.Http)(消息处理器) 表示Http请求的处理程序,处理程序类似于Http管道 ...

  2. css3基础一

    1,css简介 CSS 用于控制网页的样式和布局.样式定义如何显示html元素,样式通常保存在外部的 .css 文件中.通过仅仅编辑一个简单的 CSS 文档,外部样式表使你有能力同时改变站点中所有页面 ...

  3. 已安装nginx支持https配置 the "ssl" parameter requires ngx_http_ssl_module

    原文链接:https://blog.seosiwei.com/detail/28 nginx已安装,ssl模块未安装的解决方法: 如果需要在linux中编译自己的nginx服务器,请参照:https: ...

  4. nodejs -Promise

    创建一个 readFile.js,读取三个文件abc的内容并输出到控制台 var fs = require('fs') fs.readFile('./a.txt','utf-8',function ( ...

  5. [Docker]CentOS7下Docker安装教程

    想要倒腾Kubernetes的话,第一步就是要会安装Docker,这篇文章讲一讲过程 安装步骤 检查内核版本,必须是3.10以上 uname -r 安装Docker yum -y install do ...

  6. Python-简单打印进度条

    import sys,time ): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.1) #sys.stdout.wr ...

  7. ARMCC和GCC编译ARM代码的软浮点和硬浮点问题 【转】

    转自:http://houh-1984.blog.163.com/blog/static/31127834201211112129167/ 本文介绍了ARM代码编译时的软浮点(soft-float)和 ...

  8. nginx的linux服务器内核参数调整【转】

    概述 由于默认的linux内核参数考虑的是最通用场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,让Nginx可以拥有更高的性能: 在优化内核时,可以做的事情很 ...

  9. c++学习day4

    1.结构(struct) struct name{ int num; name *next; } 1)所占内存空间即结构中所有成员的变量大小之和 2)定义指向结构变量的指针比如 name *a; na ...

  10. 二层环路保护,RRPP多环的配置

    作者:邓聪聪 组网需求: 局域网中,由A/B/C/D构成RRPP域1换网络结构,要求环网机构中的任意两条线路中断都不能影响业务. 配置思路: 环路由两部分组成,ring1.ring2,B为环1的主节点 ...