跳到主要内容

常见编程语言对应的数据类型

Apifox 的 HTTP 项目的接口文档遵循 Swagger/OpenAPI 规范,其数据类型基于 JSON Schema 规范草案 2020-12。

JSON Schema 与编程语言无关,任何可以被转换为 JSON 的数据结构,都可以使用 JSON Schema 来描述。常见的编程语言的数据类型,都与 JSON Schema 的数据类型存在着映射关系,详见下面的表格。

JavaScript

JavaScriptJSON SchemaJSON 示例
numbernumber1.1, -10.0, 0
numberinteger1, -10, 0
stringstring"Hello World!"
booleanbooleantrue, false
undefinednullnull
nullnullnull
objectobject{"k": v, …}
arrayarray[v, …]

Python

PythonJSON SchemaJSON 示例
intinteger1, -10, 0
floatnumber1.1, -10.0, 0
strstring"Hello World!"
boolbooleanTrue, False
dictobject{"k": v, …}
list, set, tuplearray[v, …]

Java

JavaJSON SchemaJSON 示例
boolean, java.lang.Booleanbooleantrue, false
char, java.lang.Characterstring"\u0066", "f"
java.lang.Stringstring"Hello World!"
byte, java.lang.Byte, short, java.lang.Short, int, java.lang.Integer, long, java.lang.Longinteger1, -10, 0
float, java.lang.Float, double, java.lang.Doublenumber1.1, -10.0, 0
java.util.List<V>, java.util.Set<V>, dataType[]array[v, …]
java.util.Map<K,V>, DTO, POJOobject{"k": v, …}
enumstring"ENUM_VALUE"
java.util.Date, java.sql.Date, java.sql.Timestamp, java.sql.Timestring"2020-01-01 00:00:00"
java.time.LocalDateTime, java.time.LocalTimestring"2020-01-01T00:00:00"
java.time.LocalDatestring"2020-01-01"

PHP

PHPJSON SchemaJSON 示例
booleanbooleantrue, false
integerinteger1, -10, 0
floatnumber1.1, -10.0, 0
stringstring"Hello World!"
arrayarray[v, …]
objectobject{"k": v, …}
NULLnullnull

Go

GoJSON SchemaJSON 示例
boolbooleantrue, false
stringstring"Hello World!"
int, int8, int16, int32, int64integer1, -10, 0
float32, float64number1.1, -10.0, 0
array, slicearray[v, …]
struct, mapobject{"k": v, …}

Ruby

RubyJSON SchemaJSON 示例
TrueClass, FalseClassbooleantrue, false
Stringstring"Hello World!"
Fixnum, Bignuminteger1, -10, 0
Floatnumber1.1, -10.0, 0
Arrayarray[v, …]
Hashobject{"k": v, …}