json_object_put没有在循环上工作

时间:2016-07-14 06:46:00

标签: c json json-c

我使用C语言的json-c库。我有以下代码

#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <json/json.h>

int main()
{
    while(1)
    {
          testJson();
          Sleep(2000); //sleep 2 seconds
    }
    return 0;
}

void testJson()
{
      json_object *new_obj;
      char buf[] = "{ \"foo\": \"bar\", \"foo2\": \"bar2\", \"foo3\": \"bar3\" }"
      new_obj = json_tokener_parse(buf);
      json_object_object_add(new_obj, "d1", json_object_new_string(data1));
      json_object_object_add(new_obj, "d2", json_object_new_string(data2));
      .
      .
      .
      .

      printf("obj=%s",json_object_get_string(new_obj));
      json_object_put(new_obj);
}

只打印一次json obj。在它产生分段故障(核心转储)消息之后。但是当我将睡眠时间修改为10秒而不是2秒时,它工作得很好。

我需要在2秒内创建和删除json对象。用json-c库可以吗?

0 个答案:

没有答案