json_loads.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. import json
  2. res = json.loads('{"x": 1}')
  3. assert res['x'] == 1
  4. res = json.loads('{"a": 1, "b": 2, "c": 3}')
  5. assert res['a'] == 1
  6. assert res['b'] == 2
  7. assert res['c'] == 3
  8. res = json.loads('{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}}')
  9. assert res['a'] == 1
  10. assert res['b'] == 2
  11. assert res['c'] == 3
  12. assert res['d']['e'] == 4
  13. assert res['d']['f'] == 5
  14. res = json.loads(
  15. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}, "g": [6, 7, 8]}')
  16. assert res['a'] == 1
  17. assert res['b'] == 2
  18. assert res['c'] == 3
  19. assert res['d']['e'] == 4
  20. assert res['d']['f'] == 5
  21. assert res['g'][0] == 6
  22. assert res['g'][1] == 7
  23. assert res['g'][2] == 8
  24. res = json.loads(
  25. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}, "g": [6, 7, 8], "h": null}')
  26. assert res['a'] == 1
  27. assert res['b'] == 2
  28. assert res['c'] == 3
  29. assert res['d']['e'] == 4
  30. assert res['d']['f'] == 5
  31. assert res['g'][0] == 6
  32. assert res['g'][1] == 7
  33. assert res['g'][2] == 8
  34. assert res['h'] is None
  35. res = json.loads(
  36. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}, "g": [6, 7, 8], "h": null, "i": false}')
  37. assert res['a'] == 1
  38. assert res['b'] == 2
  39. assert res['c'] == 3
  40. assert res['d']['e'] == 4
  41. assert res['d']['f'] == 5
  42. assert res['g'][0] == 6
  43. assert res['g'][1] == 7
  44. assert res['g'][2] == 8
  45. assert res['h'] is None
  46. assert res['i'] is False
  47. res = json.loads(
  48. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}, "g": [6, 7, 8], "h": null, "i": false, "j": true}')
  49. assert res['a'] == 1
  50. assert res['b'] == 2
  51. assert res['c'] == 3
  52. assert res['d']['e'] == 4
  53. assert res['d']['f'] == 5
  54. assert res['g'][0] == 6
  55. assert res['g'][1] == 7
  56. assert res['g'][2] == 8
  57. assert res['h'] is None
  58. assert res['i'] is False
  59. assert res['j'] is True
  60. res = json.loads(
  61. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}, "g": [6, 7, 8], "h": null, "i": false, "j": true, "k": "string"}')
  62. assert res['a'] == 1
  63. assert res['b'] == 2
  64. assert res['c'] == 3
  65. assert res['d']['e'] == 4
  66. assert res['d']['f'] == 5
  67. assert res['g'][0] == 6
  68. assert res['g'][1] == 7
  69. assert res['g'][2] == 8
  70. assert res['h'] is None
  71. assert res['i'] is False
  72. assert res['j'] is True
  73. assert res['k'] == 'string'
  74. res = json.loads(
  75. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": 5}, "g": [6, 7, 8], "h": null, "i": false, "j": true, "k": "string", "l": 1.234}')
  76. assert res['a'] == 1
  77. assert res['b'] == 2
  78. assert res['c'] == 3
  79. assert res['d']['e'] == 4
  80. assert res['d']['f'] == 5
  81. assert res['g'][0] == 6
  82. assert res['g'][1] == 7
  83. assert res['g'][2] == 8
  84. assert res['h'] is None
  85. assert res['i'] is False
  86. assert res['j'] is True
  87. assert res['k'] == 'string'
  88. assert res['l'] == 1.234
  89. # Testing empty object and empty array using type and len
  90. res = json.loads('{}')
  91. assert type(res) == dict
  92. assert len(res) == 0
  93. res = json.loads('[]')
  94. assert type(res) == list
  95. assert len(res) == 0
  96. res = json.loads('{"a": {}}')
  97. assert type(res['a']) == dict
  98. assert len(res['a']) == 0
  99. res = json.loads('{"a": []}')
  100. assert type(res['a']) == list
  101. assert len(res['a']) == 0
  102. res = json.loads('{"a": 1, "b": {}, "c": []}')
  103. assert res['a'] == 1
  104. assert type(res['b']) == dict
  105. assert len(res['b']) == 0
  106. assert type(res['c']) == list
  107. assert len(res['c']) == 0
  108. res = json.loads(
  109. '{"a": 1, "b": 2, "c": 3, "d": {"e": 4, "f": {}}, "g": [6, {}, 8], "h": null, "i": false, "j": true, "k": "string", "l": 1.234}')
  110. assert res['a'] == 1
  111. assert res['b'] == 2
  112. assert res['c'] == 3
  113. assert res['d']['e'] == 4
  114. assert type(res['d']['f']) == dict
  115. assert len(res['d']['f']) == 0
  116. assert res['g'][0] == 6
  117. assert type(res['g'][1]) == dict
  118. assert len(res['g'][1]) == 0
  119. assert res['g'][2] == 8
  120. assert res['h'] is None
  121. assert res['i'] is False
  122. assert res['j'] is True
  123. assert res['k'] == 'string'
  124. assert res['l'] == 1.234
  125. print('PASS')