complex.json 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. {
  2. "package": "Game.Cars",
  3. "syntax": "proto2",
  4. "messages": [
  5. {
  6. "name": "Car",
  7. "syntax": "proto2",
  8. "fields": [
  9. {
  10. "rule": "required",
  11. "type": "string",
  12. "name": "model",
  13. "id": 1
  14. },
  15. {
  16. "rule": "required",
  17. "type": "Vendor",
  18. "name": "vendor",
  19. "id": 2
  20. },
  21. {
  22. "rule": "optional",
  23. "type": "Speed",
  24. "name": "speed",
  25. "id": 3,
  26. "options": {
  27. "default": "FAST"
  28. }
  29. }
  30. ],
  31. "messages": [
  32. {
  33. "name": "Vendor",
  34. "syntax": "proto2",
  35. "fields": [
  36. {
  37. "rule": "required",
  38. "type": "string",
  39. "name": "name",
  40. "id": 1
  41. },
  42. {
  43. "rule": "optional",
  44. "type": "Address",
  45. "name": "address",
  46. "id": 2
  47. },
  48. {
  49. "rule": "repeated",
  50. "type": "string",
  51. "name": "models",
  52. "id": 3
  53. }
  54. ],
  55. "messages": [
  56. {
  57. "name": "Address",
  58. "syntax": "proto2",
  59. "fields": [
  60. {
  61. "rule": "required",
  62. "type": "string",
  63. "name": "country",
  64. "id": 1
  65. }
  66. ]
  67. }
  68. ]
  69. },
  70. {
  71. "name": "Holder",
  72. "syntax": "proto2",
  73. "fields": [
  74. {
  75. "rule": "optional",
  76. "type": "string",
  77. "name": "first_name",
  78. "id": 1
  79. },
  80. {
  81. "rule": "required",
  82. "type": "string",
  83. "name": "last_name",
  84. "id": 2
  85. },
  86. {
  87. "rule": "optional",
  88. "type": "Vendor.Address",
  89. "name": "address",
  90. "id": 3
  91. }
  92. ]
  93. }
  94. ],
  95. "enums": [
  96. {
  97. "name": "Speed",
  98. "syntax": "proto2",
  99. "values": [
  100. {
  101. "name": "FAST",
  102. "id": 1
  103. },
  104. {
  105. "name": "SUPERFAST",
  106. "id": 2
  107. }
  108. ]
  109. }
  110. ]
  111. }
  112. ],
  113. "isNamespace": true
  114. }