URI
URI fält indikeras av type: string
med egenskapen format
inställd på uri
. Inga andra egenskaper accepteras.
"sampleField": {
"title": "Sample URI Field",
"description": "An example URI field.",
"type": "string",
"format": "uri"
}
Enum
Enum-fält måste använda type: string
, med uppräkningsvärdena som anges under en enum
-array:
"sampleField": {
"title": "Sample Enum Field",
"description": "An example enum field.",
"type": "string",
"enum": [
"value1",
"value2",
"value3"
]
}
Du kan också ange kundorienterade etiketter för varje värde under en meta:enum
-egenskap, där varje etikett skrivs med ett motsvarande värde under enum
.
"sampleField": {
"title": "Sample Enum Field",
"description": "An example enum field with customer-facing labels.",
"type": "string",
"enum": [
"value1",
"value2",
"value3"
],
"meta:enum": {
"value1": "Value 1",
"value2": "Value 2",
"value3": "Value 3"
}
}
meta:enum
deklarerar inte en uppräkning eller kör en datavalidering på egen hand. I de flesta fall anges även strängar som anges under meta:enum
under enum
för att säkerställa att data begränsas. Det finns emellertid vissa användningsfall där meta:enum
tillhandahålls utan en motsvarande enum
-array. Mer information finns i självstudiekursen Definiera föreslagna värden.Du kan också ange en default
-egenskap för att ange standardvärdet enum
som fältet ska använda om inget värde anges.
"sampleField": {
"title": "Sample Enum Field",
"description": "An example enum field with customer-facing labels and a default value.",
"type": "string",
"enum": [
"value1",
"value2",
"value3"
],
"meta:enum": {
"value1": "Value 1",
"value2": "Value 2",
"value3": "Value 3"
},
"default": "value1"
}
default
-värde anges och uppräkningsfältet är inställt på required
, kommer alla poster som saknar ett godkänt värde för det här fältet att misslyckas vid inmatning.Number
Nummerfält indikeras av type: number
och har inga andra obligatoriska egenskaper.
"sampleField": {
"title": "Sample Number Field",
"description": "An example number field.",
"type": "number"
}
number
-typer används för alla numeriska typer, antingen heltal eller flyttal, medan integer
typeranvänds specifikt för heltal. Mer information om användningsexempel för varje typ finns i dokumentationen för JSON-schemat för numeriska typer.Integer
Integer fält indikeras av type: integer
och har inga andra obligatoriska fält.
"sampleField": {
"title": "Sample Integer Field",
"description": "An example integer field.",
"type": "integer"
}
integer
-typer refererar specifikt till heltal, men number
typeranvänds för alla numeriska typer, antingen heltal eller flyttal. Mer information om användningsexempel för varje typ finns i dokumentationen för JSON-schemat för numeriska typer.Du kan begränsa heltalets intervall genom att lägga till egenskaperna minimum
och maximum
i definitionen. Flera andra numeriska typer som stöds av gränssnittet i Schema Builder är bara integer
typer med specifika minimum
- och maximum
-begränsningar, som Long, Short och Byte.
"sampleField": {
"title": "Sample Integer Field",
"description": "An example integer field with added constraints.",
"type": "integer",
"minimum": 1,
"maximum": 100
}
Long
Motsvarigheten till ett Long-fält som skapats via Schema Builder-gränssnittet är ett integer
typfältmed specifika minimum
- och maximum
-värden (-9007199254740992
respektive 9007199254740992
).
"sampleField": {
"title": "Sample Long Field",
"description": "An example long field.",
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740992
}
Short
Motsvarigheten till ett Short-fält som skapats via Schema Builder-gränssnittet är ett integer
typfältmed specifika minimum
- och maximum
-värden (-32768
respektive 32768
).
"sampleField": {
"title": "Sample Short Field",
"description": "An example short field.",
"type": "integer",
"minimum": -32768,
"maximum": 32768
}
Byte
Motsvarigheten till ett Byte-fält som skapats via Schema Builder-gränssnittet är ett integer
typfältmed specifika minimum
- och maximum
-värden (-128
respektive 128
).
"sampleField": {
"title": "Sample Byte Field",
"description": "An example byte field.",
"type": "integer",
"minimum": -128,
"maximum": 128
}
Boolean
Boolean fält indikeras av type: boolean
.
"sampleField": {
"title": "Sample Boolean Field",
"description": "An example boolean field.",
"type": "boolean"
}
Du kan också ange ett default
-värde som fältet ska använda när inget explicit värde anges vid inmatning.
"sampleField": {
"title": "Sample Boolean Field",
"description": "An example boolean field with a default value.",
"type": "boolean",
"default": false
}
default
-värde har angetts och det booleska fältet har värdet required
, kommer alla poster som saknar ett godkänt värde för det här fältet att misslyckas med valideringen vid inmatning.Date
Date fält indikeras av type: string
och format: date
. Du kan också ange en matris på examples
som ska användas om du vill visa en exempeldatumsträng för användare som anger data manuellt.
"sampleField": {
"title": "Sample Date Field",
"description": "An example date field with an example array item.",
"type": "string",
"format": "date",
"examples": ["2004-10-23"]
}
DateTime
DateTime fält indikeras av type: string
och format: date-time
. Du kan också ange en matris på examples
som ska användas om du vill visa en exempelsträng för datum/tid för användare som anger data manuellt.
"sampleField": {
"title": "Sample Datetime Field",
"description": "An example datetime field with an example array item.",
"type": "string",
"format": "date-time",
"examples": ["2004-10-23T12:00:00-06:00"]
}
Array
Array fält indikeras av type: array
och ett items
-objekt som definierar schemat för de objekt som arrayen accepterar.
Du kan definiera arrayobjekt med primitiva typer, till exempel en array med strängar:
"sampleField": {
"title": "Sample Array Field",
"description": "An example array field using a primitive type.",
"type": "array",
"items": {
"type": "string"
}
}
Du kan också definiera arrayobjekten baserat på en befintlig datatyp genom att referera till $id
för datatypen via en $ref
-egenskap. Följande är en array med Payment Item objekt:
"sampleField": {
"title": "Sample Array Field",
"description": "An example array field using a data type reference.",
"type": "array",
"items": {
"$ref": "https://ns.adobe.com/xdm/data/paymentitem"
}
}
Object
Object fält indikeras av type: object
och ett properties
-objekt som definierar underegenskaper för schemafältet.
Varje underfält som definieras under properties
kan definieras med hjälp av en primitiv type
eller genom att referera till en befintlig datatyp via en $ref
-egenskap som pekar på $id
för den aktuella datatypen:
"sampleField": {
"title": "Sample Object Field",
"description": "An example object field.",
"type": "object",
"properties": {
"field1": {
"type": "string"
},
"field2": {
"$ref": "https://ns.adobe.com/xdm/common/measure"
}
}
}
Du kan också definiera hela objektet genom att referera till en datatyp, förutsatt att datatypen i fråga själv är definierad som type: object
:
"sampleField": {
"title": "Sample Object Field",
"description": "An example object field using a data type reference.",
"$ref": "https://ns.adobe.com/xdm/common/phoneinteraction"
}
Map
Ett kartfält är i princip ett object
-typsfältmed en obegränsad uppsättning tangenter. Precis som objekt har kartor värdet type
, men meta:xdmType
anges uttryckligen till map
.object
En karta får inte definiera några egenskaper. Den måste definiera ett enskilt additionalProperties
-schema för att beskriva värdetypen som finns i kartan (varje karta kan bara innehålla en enda datatyp). Värdet type
måste vara antingen string
eller integer
.
Ett mappningsfält med strängtypsvärden definieras så här:
"sampleField": {
"title": "Sample Map Field",
"description": "An example map field.",
"type": "object",
"meta:xdmType": "map",
"additionalProperties": {
"type": "string"
}
}
Mer information om hur du skapar anpassade kartfält finns i avsnittet nedan.