请教个关于cJSON的问题

有一个字符串,是{"totalrows":19,"id":54071160003064815,"station":-7106618685453743182}

cJSON *root;
root = cJSON_Parse(recv_data);
printf("[%s]\n\n", cJSON_PrintUnformatted(root));

但打印出来的id的后3位不是815,变成了816,station的后3位不是182了,变成了104,这是为什么?数字太大的原因吗,可是还没有进行解析就出现数据错误了。

大家帮帮忙。

阅读 4.2k
1 个回答

有经验丰富的同学吗,不吝赐教啊
解决了。修改了cJSON库,增加了long long类型,然后修改了parse_number函数,还有些地方增加了long long类型的打印

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进