面对json 字符串,不希望用别人写好的类,本着自己本身的需求,编写了一个头文件供大家,直观的使用。
工具/原料
方法/步骤
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;}