工具/软件:TI-RTOS
大家好!
您能在 JSON 库中澄清一点吗? 我的问题与此函数的最后一个参数"uint16_t * maxValueSize"有关:
int16_t JSON_getValue (JSON_Handle objHandle、const char * pkey、void * pValue、uint16_t * maxValueSize);
我应该通过此处的引用传递哪个值?
据我了解、对于字符串和原始数据类型、我应该将指针传递到为其值分配的若干字节。
对于"int32"、"UINT32"、"real32"、"ureal32"、我应将指针传递到其类型大小(字节)、"sizeof (int32_t)"、"sizeof (uint32_t)"、"sizeof (real32_t)"、"sizeof (ure32_t)"、 我的理解。
但如果是"boole"类型、 "maxValueSize"变量为什么不应小于2? 如果我将指针传递给变量、equals 1、则该函数返回错误代码"-101"("jSON_RC___ANLOADCK_SAMPREG_SIZE _EXCED")、布尔类型的 althoug 内部表示为"uint8_t"。 如果要遵循我的逻辑、"maxValueSize"变量应为1。 因此、我想澄清这一点、以便传递正确的值。
如果我理解正确,您对 json_engine.h 文件中“__JSON_GetValue()”函数的描述有点过时。 在注释部分中、您忘记提到受支持的无符号类型("UINT32_t"和"ureal32_t")。
很抱歉、如果我误解了某个内容、因为我没有找到包含示例的完整文档。
此致、
罗马