使用方法参考下面程序
#include<stdio.h>
#include "string.h"
char * getValueByKey(char *str, const char *key, char value[]) {
char start = 0;
char end = 0;
while(str[start] != ':') {
start++;
}
end = start + 1;
while(str[end] != ',' && str[end] != '}') {
end++;
}
memcpy(value, &str[start+1], end - start - 1);
}
void main() {
char _name[10];
char _identity[20];
char _amount[10];
char *p;
char data_buffer[200];
sprintf(data_buffer, "{\"name\":\"%s\",\"identity\":\"%s\",\"amount\":%d}", "Tom", "13433369803", 100);
printf("%s", data_buffer);
if(strstr(data_buffer, "name") && strstr(data_buffer, "identity") && strstr(data_buffer, "amount")) {
p = strstr(data_buffer, "name");
getValueByKey(p, "name", _name);
p = strstr(data_buffer, "identity");
getValueByKey(p, "identity", _identity);
p = strstr(data_buffer, "amount");
getValueByKey(p, "amount", _amount);
}
printf("%s", _name);
printf("%s", _identity);
printf("%s", _amount);
}