常见编程语言对应的数据类型
Apifox 的 HTTP 项目的接口文档遵循 Swagger/OpenAPI 规范,其数据类型基于 JSON Schema 规范草案 2020-12。
JSON Schema 与编程语言无关,任何可以被转换为 JSON 的数据结构,都可以使用 JSON Schema 来描述。常见的编程语言的数据类型,都与 JSON Schema 的数据类型存在着映射关系,详见下面的表格。
JavaScript
| JavaScript | JSON Schema | JSON 示例 |
|---|---|---|
| number | number | 1.1, -10.0, 0 |
| number | integer | 1, -10, 0 |
| string | string | "Hello World!" |
| boolean | boolean | true, false |
| undefined | null | null |
| null | null | null |
| object | object | {"k": v, …} |
| array | array | [v, …] |
Python
| Python | JSON Schema | JSON 示例 |
|---|---|---|
| int | integer | 1, -10, 0 |
| float | number | 1.1, -10.0, 0 |
| str | string | "Hello World!" |
| bool | boolean | True, False |
| dict | object | {"k": v, …} |
| list, set, tuple | array | [v, …] |
Java
| Java | JSON Schema | JSON 示例 |
|---|---|---|
| boolean, java.lang.Boolean | boolean | true, false |
| char, java.lang.Character | string | "\u0066", "f" |
| java.lang.String | string | "Hello World!" |
| byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, java.lang.Long | integer | 1, -10, 0 |
| float, java.lang.Float, double, java.lang.Double | number | 1.1, -10.0, 0 |
| java.util.List<V>, java.util.Set<V>, dataType[] | array | [v, …] |
| java.util.Map<K,V>, DTO, POJO | object | {"k": v, …} |
| enum | string | "ENUM_VALUE" |
| java.util.Date, java.sql.Date, java.sql.Timestamp, java.sql.Time | string | "2020-01-01 00:00:00" |
| java.time.LocalDateTime, java.time.LocalTime | string | "2020-01-01T00:00:00" |
| java.time.LocalDate | string | "2020-01-01" |
PHP
| PHP | JSON Schema | JSON 示例 |
|---|---|---|
| boolean | boolean | true, false |
| integer | integer | 1, -10, 0 |
| float | number | 1.1, -10.0, 0 |
| string | string | "Hello World!" |
| array | array | [v, …] |
| object | object | {"k": v, …} |
| NULL | null | null |
Go
| Go | JSON Schema | JSON 示例 |
|---|---|---|
| bool | boolean | true, false |
| string | string | "Hello World!" |
| int, int8, int16, int32, int64 | integer | 1, -10, 0 |
| float32, float64 | number | 1.1, -10.0, 0 |
| array, slice | array | [v, …] |
| struct, map | object | {"k": v, …} |
Ruby
| Ruby | JSON Schema | JSON 示例 |
|---|---|---|
| TrueClass, FalseClass | boolean | true, false |
| String | string | "Hello World!" |
| Fixnum, Bignum | integer | 1, -10, 0 |
| Float | number | 1.1, -10.0, 0 |
| Array | array | [v, …] |
| Hash | object | {"k": v, …} |