void test_ui_sdl_grath() { Sdl_Graph *sdl_grath; allocator_t *allocator = allocator_get_default_alloc(); char *set_str; cjson_t *root, *e, *s; char buf[2048]; root = cjson_create_object();{ cjson_add_item_to_object(root, "Sdl_Graph", e = cjson_create_object());{ cjson_add_string_to_object(e, "name", "alan"); } } set_str = cjson_print(root); sdl_grath = OBJECT_NEW(allocator, Sdl_Graph,set_str); object_dump(sdl_grath, "Sdl_Graph", buf, 2048); dbg_str(DBG_DETAIL,"Sdl_Graph dump: %s",buf); object_destroy(sdl_grath); free(set_str); }
char *gen_button_setting_str() { cjson_t *root,*b, *c, *e, *s; char *set_str; root = cjson_create_object();{ cjson_add_item_to_object(root, "Button", b = cjson_create_object());{ cjson_add_item_to_object(root, "Component", c = cjson_create_object());{ cjson_add_item_to_object(root, "Container", e = cjson_create_object());{ cjson_add_item_to_object(e, "Subject", s = cjson_create_object());{ cjson_add_number_to_object(s, "x", 1); cjson_add_number_to_object(s, "y", 25); cjson_add_number_to_object(s, "width", 5); cjson_add_number_to_object(s, "height", 125); } cjson_add_string_to_object(e, "name", "subject"); } cjson_add_string_to_object(c, "name", "container"); } cjson_add_string_to_object(c, "name", "component"); } cjson_add_string_to_object(b, "name", "button"); } set_str = cjson_print(root); return set_str; }
char *gen_window_setting_str() { cjson_t *root,*w, *c, *e, *s; char *set_str; root = cjson_create_object();{ cjson_add_item_to_object(root, "Window", w = cjson_create_object());{ cjson_add_item_to_object(root, "Component", c = cjson_create_object());{ cjson_add_item_to_object(root, "Container", e = cjson_create_object());{ cjson_add_item_to_object(e, "Subject", s = cjson_create_object());{ cjson_add_number_to_object(s, "x", 0); cjson_add_number_to_object(s, "y", 0); cjson_add_number_to_object(s, "width", 5); cjson_add_number_to_object(s, "height", 125); cjson_add_number_to_object(s, "x_speed", 1.2); cjson_add_number_to_object(s, "y_speed", 2.3); } cjson_add_string_to_object(e, "name", "Container"); cjson_add_number_to_object(e, "map_type", 1); } cjson_add_string_to_object(c, "name", "Component"); } cjson_add_string_to_object(w, "name", "Window"); cjson_add_number_to_object(w, "screen_width", 600); cjson_add_number_to_object(w, "screen_height", 600); } } set_str = cjson_print(root); return set_str; }
// 测试 cjson 函数 int main_cjson_write(int argc, char* argv[]) { //注册等待函数 INIT_PAUSE(); //启动日志记录功能 sl_start(); // 测试json 串 char jstr[] = "{\n\"name\": \"Jack (\\\"Bee\\\") Nimble\", \n\"format\": {\"type\":[1, 3, 4, 5.66], \n\"height\": 1080, \n\"interlace\": false}\n}"; printf("源码串 :\n %s\n", jstr); // 先生成 json 对象 cjson_t root = cjson_parse(jstr); if (root == NULL) { puts("jstr 解析失败! 程序退出中...."); exit(EXIT_FAILURE); } //这里简单测试输出内容 char* njstr = cjson_print(root); if (njstr == NULL) { puts("输出内容失败,程序退出中!"); cjson_delete(&root); exit(EXIT_FAILURE); } //合法范围直接输出 内容 printf("解析串 :\n %s\n", njstr); //解析完需要释放 free(njstr); //解析好 一定要注意释放操作 cjson_delete(&root); //另一个测试 输出内存值 printf("d = %d\n", (int)strlen("{\"name\":\"Jack (\\\"Bee\\\") Nimble\",\"format\":{\"type\":[1,3,4,5.660000],\"height\":1080,\"interlace\":false}}")); return 0; }
void test_ui_component() { Subject *subject; allocator_t *allocator = allocator_get_default_alloc(); char *set_str; cjson_t *root, *e, *s; char buf[2048]; root = cjson_create_object();{ cjson_add_item_to_object(root, "Component", e = cjson_create_object());{ cjson_add_item_to_object(e, "Subject", s = cjson_create_object());{ cjson_add_number_to_object(s, "x", 1); cjson_add_number_to_object(s, "y", 25); cjson_add_number_to_object(s, "width", 5); cjson_add_number_to_object(s, "height", 125); } cjson_add_string_to_object(e, "name", "alan"); } } set_str = cjson_print(root); /* *subject = OBJECT_ALLOC(allocator,Component); *object_set(subject, "Component", set_str); *dbg_str(DBG_DETAIL,"x=%d y=%d width=%d height=%d",subject->x,subject->y,subject->width,subject->height); */ subject = OBJECT_NEW(allocator, Component,set_str); /* *dbg_str(DBG_DETAIL,"x=%d y=%d width=%d height=%d",subject->x,subject->y,subject->width,subject->height); *dbg_str(DBG_DETAIL,"component nane=%s",((Component *)subject)->name); *subject->move(subject); */ object_dump(subject, "Component", buf, 2048); dbg_str(DBG_DETAIL,"Component dump: %s",buf); free(set_str); }
void test_obj_map() { Map *map; allocator_t *allocator = allocator_get_default_alloc(); char *set_str; cjson_t *root, *e, *s; char buf[2048]; root = cjson_create_object();{ cjson_add_item_to_object(root, "Map", e = cjson_create_object());{ cjson_add_string_to_object(e, "name", "alan"); } } set_str = cjson_print(root); map = OBJECT_NEW(allocator, Map,set_str); object_dump(map, "Map", buf, 2048); dbg_str(OBJ_DETAIL,"Map dump: %s",buf); free(set_str); }