Advertisement
Guest User

Untitled

a guest
May 25th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | None | 0 0
  1. typedef void (*jsoni_write_func)(const char* data, size_t size, void* userdata);
  2.  
  3. struct jsoni_writer
  4. {
  5.     jsoni_write_func func;
  6.     void* userdata;
  7.     jsoni_type[128] scope_stack;
  8.     size_t scopeIndex;
  9. };
  10.  
  11. void to_file(const char* data, size_t size, void* userdata)
  12. {
  13.     FILE* file = userdata;
  14.     fwrite(data, size, 1, file);
  15. }
  16.  
  17. void write_test()
  18. {
  19.     FILE* file = fopen("chad.json", "wt");
  20.  
  21.     jsoni_writer writer = { to_file, file };
  22.  
  23.     jsoni_write_object_begin(&writer, NULL);
  24.         jsoni_write_string(&writer, "sprite_sheet_name", "chad");
  25.         jsoni_write_string(&writer, "sprite_sheet_source", "chad.png");
  26.  
  27.         jsoni_write_object_begin(&writer, "sprite_dimensions");
  28.             jsoni_write_uint32(&writer, "x", 32);
  29.             jsoni_write_uint32(&writer, "y", 32);
  30.         jsoni_write_object_end(&writer);
  31.  
  32.         jsoni_write_array_begin(&writer, "animations");
  33.             jsoni_write_object_begin(&writer, "animations");
  34.             jsoni_write_object_end(&writer);
  35.         jsoni_write_array_end(&writer, "animations");
  36.     jsoni_write_object_end(&writer);
  37.  
  38.     jsoni_write_object_begin(&writer, NULL);
  39.         jsoni_write_int32(&writer, "signed_int", 0);
  40.         jsoni_write_uint32(&writer, "unsigned_int", 1);
  41.         jsoni_write_int64(&writer, "signed_int64", 0xFFFFFFFFAll);
  42.         jsoni_write_uint64(&writer, "unsigned_int64", 0xFFFFFFFFAull);
  43.         jsoni_write_float(&writer, "pi", 3.14159);
  44.         jsoni_write_string(&writer, "Description", "my cool file");
  45.         jsoni_write_array_begin(&writer, "SomeArrayData");
  46.             jsoni_write_object_begin(&writer, "AnObject")
  47.             jsoni_write_object_end(&writer)
  48.         jsoni_write_array_end(&writer);
  49.     jsoni_write_object_end(&writer);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement