算法-C快速获取json字段内的数据

5 篇文章 0 订阅
2 篇文章 0 订阅

【直接撸代码】(为了凑一点篇幅,特意加了点注释)

/*****************************************************************************
 函 数 名  : just_json_get
 功能描述  : 获取json中指定的字段
 输入参数  : char *in_buff  
             char *key      
             char *value    
 输出参数  : 无
 返 回 值  : char
 调用函数  : 
 被调函数  : 
 
 修改历史      :
  1.日    期   : 2018年3月31日
    作    者   : mc.meng
    修改内容   : 新生成函数

*****************************************************************************/
char *just_json_get(char *in_buff, char *key, char *value)
{
    char this_key[200] = {0};
    char *start = NULL;
    char *end = NULL;

    sprintf(this_key, "\"%s\":\"", key);
    start = strstr(in_buff, this_key);
    if (start == NULL)
    {
        return NULL;
    }
    start += strlen(this_key);
    for(end = start; *end != '\"' && *end!='\0'; ++end);
    memcpy(value, start, end-start);
    value[end-start] = 0;

    return value;
}

简单就是粗暴!

【测试用例】:

void just_json_test(void)
{
    char this_buff[512] = {0};
    char *this_str= "{\"message\":\"OK\",\"fileSize\":\"0\",\"updateSign\":\"1\",\"versionFileName\":\"\",\"versionMD5\":\"\",\"pushSign\":\"0\",\"code\":\"0\",\"versionURL\":\"http://tms.vvjoin.com:8628/file\",\"updateType\":\"3\"}";

    LOGE("HHHD:1====>versionURL=%s", just_json_get(this_str, "versionURL", this_buff));
}


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值