如何使用RedisJSON只从JSON.GET中获取值,而不使用括号和双引号?

wfveoks0  于 2022-10-31  发布在  Redis
关注(0)|答案(1)|浏览(379)

使用Redis v6和RedisJSON v2.2.0.
样本json:

[
        {
                "msg": "hello",
                "sql": "blah"
        }
]

我可以通过调用以下命令成功获取msg值:

redisReply *reply = redisCommand(context, "JSON.GET sample-rj $.msg");

它会传回:

["hello"]

然而,我希望Redis的回复不要包含括号和双引号。
是否可以在Redis/RedisJSON端关闭它,或者我必须自己对字符串值进行后处理?
谢谢

ryhaxcpt

ryhaxcpt1#

我最后这样做了:

redisReply *reply = redisCommand(context, "JSON.GET sample-rj $.msg");

    if(reply != NULL) {

        char *trimmedStr = reply->str + 2; //remove prefix ["
        trimmedStr[strlen(trimmedStr)-2] = '\0'; //remove suffix "]

        ap_rprintf(r, "<h2>redis key val is: %s!</h2>", trimmedStr);

        freeReplyObject(reply);
    }

相关问题