diff --git a/src/client/src/tscParseOpenTSDB.c b/src/client/src/tscParseOpenTSDB.c index d838603700e87ce9e2337f5104f6566cd304f148..ec22a9dc8aa8ef417e18a360d77dd353fdb0dbba 100644 --- a/src/client/src/tscParseOpenTSDB.c +++ b/src/client/src/tscParseOpenTSDB.c @@ -1003,7 +1003,7 @@ static int32_t tscParseMultiJSONPayload(char* payload, SArray* points, SSmlLines for (int32_t i = 0; i < payloadNum; ++i) { TAOS_SML_DATA_POINT point = {0}; - cJSON *dataPoint = (payloadNum == 1) ? root : cJSON_GetArrayItem(root, i); + cJSON *dataPoint = (payloadNum == 1 && cJSON_IsObject(root)) ? root : cJSON_GetArrayItem(root, i); ret = tscParseJSONPayload(dataPoint, &point, info); if (ret != TSDB_CODE_SUCCESS) {