c语言json数据转换成字符串,C语言将字符串转json

示例代码:

#include

#include

#include

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"}

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

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

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

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

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

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

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

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

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

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

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

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

go语言之进阶篇JSON处理

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

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

...

Python web前端 08 字符串 数组 json

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

随机推荐

Groovy学起来,这要和GRAILS,RUNDECK打成一片

还好,以前看过RUBY和JAVA,GROOVY感觉和它们有点相似.. 并且,我觉得这个GROOVY比SCALA要简单些(函数式编程+OBJ) 作类比,毕竟是最快的学习方法. XXX,还有必修课和证券从 ...

ural 1192 Ball in a Dream

#include #include #include #include # ...

摘抄python __init__

注意1.__init__并不相当于C#中的构造函数,执行它的时候,实例已构造出来了. 1 2 3 4 5 class A(object):     def __init__(self,name):   ...

《Pro Android Graphics》读书笔记之第三节

Android Frame Animation: XML, Concepts and Optimization Frame Animation Concepts: Cels, Framerate, a ...

Java对多线程~~~Fork/Join同步和异步帧

于Fork/Join骨架,当提交的任务,有两个同步和异步模式.它已被用于invokeAll()该方法是同步的.是任何 务提交后,这种方法不会返回直到全部的任务都处理完了.而还有还有一种方式,就是使用f ...

[js高手之路]封装运动框架实战左右与上下滑动的焦点轮播图

在这篇文章[js高手之路]打造通用的匀速运动框架中,封装了一个匀速运动框架,我们在这个框架的基础之上,加上缓冲运动效果,然后用运动框架来做幻灯片(上下,左右),效果如下: 1 2 3 4 5 // 0 ...

块级元素行内元素以及display属性

1.什么叫做标签语义化? ->合理的标签做合适的事情 ->HTML中常用的标签都有哪些? (块状标签和行内标签) ->块状标签和行内标签的区别? (常用的有8条区别) 1)内联元素: ...

SSM整合Netty5.0详细说明

阅读本文约“3.2分钟” 最近又有粉丝加Q群讨论netty整合SSM项目的方式等,我在这里抽了休息日的时候整理一下,一步一步的记录,注意的是,本案例仅实现了用netty整合SSM后与单片机等类TCP应 ...

基于tensorflow的MNIST手写数字识别(二)--入门篇

http://www.jianshu.com/p/4195577585e6 基于tensorflow的MNIST手写字识别(一)--白话卷积神经网络模型 基于tensorflow的MNIST手写数字识 ...

你可能感兴趣的:(c语言json数据转换成字符串)