json.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include "JSONParser.h"
  4. #include "Filesystem.h"
  5. #include "FileStream.h"
  6. using namespace crown;
  7. int main(int argc, char** argv)
  8. {
  9. // const char* src = "\"test\":{\"params1\": [1,2,3,4], \"params2\": [5,6,7,8]}";
  10. Filesystem conf_root("/home/mikymod/test");
  11. if (!conf_root.exists("json.json"))
  12. {
  13. printf("Configuration file does not exists. Abort!\n");
  14. return -1;
  15. }
  16. char dst[10][256];
  17. FileStream* stream = (FileStream*)conf_root.open("json.json", SOM_READ);
  18. JSONParser* parser = new JSONParser(stream);
  19. json_error error;
  20. JSONToken* tokens;
  21. parser->init();
  22. error = parser->parse();
  23. tokens = parser->get_tokens();
  24. for (int i = 0; i < parser->get_tokens_number(); i++)
  25. {
  26. printf("token[%d]\n", i);
  27. printf("type: %d\n", tokens[i].m_type);
  28. printf("size: %d\n", tokens[i].m_size);
  29. printf("start: %d\n",tokens[i].m_start);
  30. printf("end: %d\n",tokens[i].m_end);
  31. printf("parent token: %d\n",tokens[i].m_parent);
  32. printf("\n");
  33. }
  34. // for (int i = 0; i < parser->get_tokens_number(); i++)
  35. // {
  36. // // strncpy((char*)dst[i], &src[tokens[i].m_start], tokens[i].m_size);
  37. // dst[i][tokens[i].m_size] = '\0';
  38. // printf("token[%d]\n", i);
  39. // printf("type: %d\n", tokens[i].m_type);
  40. // printf("size: %d\n", tokens[i].m_size);
  41. // printf("start: %d\n",tokens[i].m_start);
  42. // printf("end: %d\n",tokens[i].m_end);
  43. // printf("parent token: %d\n",tokens[i].m_parent);
  44. // printf("string: %s\n", dst[i]);
  45. // printf("\n");
  46. // }
  47. // parser->shutdown();
  48. printf("return: %d\n", error);
  49. conf_root.close(stream);
  50. return 0;
  51. }