json_tokener_parse дает неожиданный вывод

Рассмотрим фрагмент кода, как показано ниже

            const char* jstring;
jstring =  net->Classify(224, 224, imgCUDA,  &confidence);
std::cout <<jstring << std::endl;
join_prop = json_tokener_parse( jstring);
printf("join prop is %s\n",json_object_to_json_string(join_prop));

сделан вызов, чтобы Классифицировать, где json создан и возвращен.
Определение метода классификации

const char* Classify(  uint32_t width, uint32_t height,  float* rgb, float* confidence=NULL);

Фрагмент внутри Classify приведен ниже

    jstring =  json_object_to_json_string(properties);
std::string jstring_str(jstring);
json_object_put(properties);
std::cout<< "jstring_str is : "<<jstring_str << std::endl;
return jstring_str.c_str();

Выводы выводятся на экран в разных точках этого фрагмента кода. Выходы следующие

  1. В пределах значения Classify jstring_str до возврата

    jstring_str is: {«head_gear»: [{«доверие»: 0,000000, «имя»: «нет»}, {«доверие»: 1,000000, «имя»: «Cap»}, {«доверие»: 0,000000, «имя» «:» Шлем «}]}

2 значение в строке jstring std::cout <<jstring << std::endl;

{ "head_gear": [ { "confidence": 0.000000, "name": "None" }, { "confidence": 1.000000, "name": "Cap" }, { "confidence": 0.000000, "name": "Helmet" } ] }
  1. Однако, по команде join_prop, кажется, неожиданный вывод, как показано ниже

присоединиться к пропеллу

Я ожидал, что токен проанализирует jstring и преобразует его в json.
Было бы очень полезно, если бы я мог понять, почему я получаю команду prop как null. Любое понимание было бы полезно, так как я потерялся, пытаясь найти причину для этого.

Вывод, кажется, является действительным JSON на основе https://jsonformatter.curiousconcept.com/

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]