示例代码:

#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. Failed to read artifact ......明明之前可以的

    Type One or more constraints have not been satisfied. mybaits Failed to read artifact ....jar 右键proj ...

  2. Javascript入门(五)数组操作、循环语句

    一.数组与数组操作 <script type="text/javascript"> //数组定义方式 var list1 = new Array(1,2,3); var ...

  3. Challenge Create a Launch Pad

    在头文件中定义网格体组件和重叠组件 UPROPERTY(VisibleAnywhere,Category="Components") UStaticMeshComponent* M ...

  4. Java内存模型-final域的内存语义--没明白,预留以后继续理解

    https://www.cnblogs.com/yuanfy008/p/9349275.html 来自 Java并发编程(1)-Java内存模型

  5. windows下flazr对rtmp视频流进行压力测试(批量直播测试)

    flazr-0.7-RC2下载地址:百度网盘 提取码:nu05 简述:通过推流软件推送摄像头视频流到nginx流媒体服务器,获取nginx流媒体服务器上的视频流,在windows下使用flazr软件进 ...

  6. pythonのsqlalchemy外键关联查询

    #!/usr/bin/env python import sqlalchemy from sqlalchemy import create_engine from sqlalchemy.ext.dec ...

  7. [Harbor]Docker登录Harbor仓库(HTTP方式)

    Docker登录到Harbor仓库时,不管是使用http协议还是使用https协议,都需要修改一些配置. 这篇文章来介绍一下,在使用http协议时,需要进行什么哪些配置. 首先,确定自己的Harbor ...

  8. Latex自定义文档纸张大小

    \usepackage{geometry} \special{papersize=8.5in,11in}%纸张大小为8.5inch×11inch

  9. 数据备份、pymysql模块

    阅读目录 一 IDE工具介绍 二 MySQL数据备份 三 pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https:/ ...

  10. python beautifulsoup爬虫学习

    BeautifulSoup(page_html, "lxml").select(),这里可以通过浏览器开发者模式选择copy selector,并且并不需要完整路径. github ...