RyanJsonBaseTestCreateJson.c 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. #include "RyanJsonBaseTest.h"
  2. RyanJsonBool_e RyanJsonBaseTestCreateJson(void)
  3. {
  4. RyanJson_t jsonRoot, item;
  5. // 对象生成测试
  6. jsonRoot = RyanJsonCreateObject();
  7. RyanJsonAddIntToObject(jsonRoot, "inter", 16);
  8. RyanJsonAddDoubleToObject(jsonRoot, "double", 16.89);
  9. RyanJsonAddStringToObject(jsonRoot, "string", "hello");
  10. RyanJsonAddBoolToObject(jsonRoot, "boolTrue", RyanJsonTrue);
  11. RyanJsonAddBoolToObject(jsonRoot, "boolFalse", RyanJsonFalse);
  12. RyanJsonAddNullToObject(jsonRoot, "null");
  13. /**
  14. * @brief 对象添加测试
  15. *
  16. */
  17. item = RyanJsonCreateObject();
  18. RyanJsonAddIntToObject(item, "inter", 16);
  19. RyanJsonAddDoubleToObject(item, "double", 16.89);
  20. RyanJsonAddStringToObject(item, "string", "hello");
  21. RyanJsonAddBoolToObject(item, "boolTrue", RyanJsonTrue);
  22. RyanJsonAddBoolToObject(item, "boolFalse", RyanJsonFalse);
  23. RyanJsonAddNullToObject(item, "null");
  24. RyanJsonAddItemToObject(jsonRoot, "item", item);
  25. /**
  26. * @brief 数组添加测试
  27. *
  28. */
  29. int arrayInt[] = {16, 16, 16, 16, 16};
  30. RyanJsonAddItemToObject(jsonRoot, "arrayInt", RyanJsonCreateIntArray(arrayInt, sizeof(arrayInt) / sizeof(arrayInt[0])));
  31. double arrayDouble[] = {16.89, 16.89, 16.89, 16.89, 16.89};
  32. RyanJsonAddItemToObject(jsonRoot, "arrayDouble",
  33. RyanJsonCreateDoubleArray(arrayDouble, sizeof(arrayDouble) / sizeof(arrayDouble[0])));
  34. const char *arrayString[] = {"hello", "hello", "hello", "hello", "hello"};
  35. RyanJsonAddItemToObject(jsonRoot, "arrayString",
  36. RyanJsonCreateStringArray(arrayString, sizeof(arrayString) / sizeof(arrayString[0])));
  37. RyanJson_t array = RyanJsonCreateArray();
  38. RyanJsonAddIntToArray(array, 16);
  39. RyanJsonAddDoubleToArray(array, 16.89);
  40. RyanJsonAddStringToArray(array, "hello");
  41. RyanJsonAddBoolToArray(array, RyanJsonTrue);
  42. RyanJsonAddBoolToArray(array, RyanJsonFalse);
  43. RyanJsonAddNullToArray(array);
  44. RyanJsonAddItemToObject(jsonRoot, "array", array);
  45. /**
  46. * @brief 对象数组测试
  47. *
  48. */
  49. RyanJson_t arrayItem = RyanJsonCreateArray();
  50. item = RyanJsonCreateObject();
  51. RyanJsonAddIntToObject(item, "inter", 16);
  52. RyanJsonAddDoubleToObject(item, "double", 16.89);
  53. RyanJsonAddStringToObject(item, "string", "hello");
  54. RyanJsonAddBoolToObject(item, "boolTrue", RyanJsonTrue);
  55. RyanJsonAddBoolToObject(item, "boolFalse", RyanJsonFalse);
  56. RyanJsonAddNullToObject(item, "null");
  57. RyanJsonAddItemToObject(arrayItem, "item", item);
  58. item = RyanJsonCreateObject();
  59. RyanJsonAddIntToObject(item, "inter", 16);
  60. RyanJsonAddDoubleToObject(item, "double", 16.89);
  61. RyanJsonAddStringToObject(item, "string", "hello");
  62. RyanJsonAddBoolToObject(item, "boolTrue", RyanJsonTrue);
  63. RyanJsonAddBoolToObject(item, "boolFalse", RyanJsonFalse);
  64. RyanJsonAddNullToObject(item, "null");
  65. RyanJsonAddItemToObject(arrayItem, "item", item);
  66. RyanJsonAddItemToObject(jsonRoot, "arrayItem", arrayItem);
  67. RyanJsonCheckCode(RyanJsonTrue == RyanJsonBaseTestCheckRoot(jsonRoot), {
  68. RyanJsonDelete(jsonRoot);
  69. return RyanJsonFalse;
  70. });
  71. RyanJsonDelete(jsonRoot);
  72. return RyanJsonTrue;
  73. }