多语言展示
当前在线:693今日阅读:84今日分享:32

对json字符串的处理

面对json 字符串,不希望用别人写好的类,本着自己本身的需求,编写了一个头文件供大家,直观的使用。
工具/原料

Linux(g++)

方法/步骤
1

一下就是头文件所有内容:/************json.h********************************/#include#includeusing namespace std;int  changetoint(string str);//change string data to int typestring gitemv(string str,string item);//get the item value from json string

2

测试的程序也很简单:/***********************main.cpp*****************************/#include "json.h"int main(){ string str="{ \"DId\":\"154-155\", \"power \": \"1\"}"; cout<

3

当然,必不可缺的是实现功能的CPP源文件了:/***********************json.cpp**************************/#include "json.h"int changetoint(string str){  int len=str.length();  int value=0; for(int i=0;i47&&str[i]<58)value=value*10+(str[i]-48); return value;}//以下是个辅助函数void changestring(string &item){ int len=str.length(); char temp4[200]={'\0'}; char temp5[200]={'\0'}; int start1=0; int end1=0; int y1=0; for(int l=0;lstart1;y--){              if(temp4[y] != ' '){                       end1=y;                       break;              } } for(int r1=start1;r1<=end1;r1++){                   temp5[y1]=temp4[r1];                   y1++;  } temp5[y1]='\0'; item=temp5; }

4

//以下是主要的function了string gitemv(string str,string item){ int j=0;k=0;g=0;start=0;end=0;position=0; char temp[200]={'\0'}; char temp1[200]={'\0'}; string result; changestring(item); int length=str.length(); int len= item.length(); for(int s=0;s=start;i6--){              if(temp[i6]!= ' '){                         end=i6;                         break;              } } for(int i7=start;i7<=end;i7++){              temp1[g]=temp[i7];               g++; } result=temp1;return result;}

推荐信息