Hoppa till huvudinnehåll

JSON-export – Schemabeskrivning

Detta dokument beskriver strukturen på den JSON-fil som produceras av Exportera till JSON i Mängdningsverktyget.


Toppnivå

{
"schemaVersion": "1",
"exportedAt": "2026-03-18T10:00:00Z",
"tenantName": "Byggfirman AB",
"projectName": "Storgatan 1",
"projectAttributes": {
"Kundnummer": "545454545"
},
"subProjectName": "Lägenhet 1A",
"materialQuantities": [...],
"elements": [...],
"recipes": [...]
}
FältTypBeskrivning
schemaVersionstringSchemaversion. Alltid "1" tills vidare.
exportedAtstringISO 8601 UTC-tidsstämpel för exporten.
tenantNamestringOrganisationens (tenantens) namn.
projectNamestringProjektnamn.
projectAttributesobjectEgna attribut som kunden lagt till för projektet, t.ex. kundnummer. Saknas om inga anpassade attribut har skapats. Se Projektattribut.
subProjectNamestringDelprojektnamn (t.ex. en specifik lägenhet eller våning).
materialQuantitiesarrayAggregerade materialmängder för hela delprojektet. Se Materialmängder.
elementsarrayAlla beräknade element med ingrediensuppdelning. Se Element.
recipesarrayAlla recept som används, med aggregerade ingrediensmängder. Se Recept.

Materialmängder

materialQuantities innehåller total uträknad mängd per unikt material och specifikation. Detta objekt innehåller alltså den totala mängden av alla material som räknats ut. Varje material innehåller också en referens till elementet som använder materialet, som genereras på nytt i varje export, och är till för att kunna enkelt matcha material emot element.

{
"categoryCode": "KAKEL",
"categoryName": "Kakel",
"materialCode": "VIT",
"materialName": "Kakel Vit",
"specificationCode": "60X60",
"specificationName": "60×60 cm",
"combinedCode": "KAKEL-VIT-60X60",
"quantity": { ... },
"elementRefs": ["EL321", "EL999"]
}
FältBeskrivning
categoryCodeKod för materialkategorin.
categoryNameNamn på materialkategorin.
materialCodeKod för materialet.
materialNameNamn på materialet.
specificationCodeKod för materialspecifikationen
specificationNameNamn på materialspecifikationen
combinedCodeKategori-, material- och specifikationskoder sammanfogade med -. Exempel: "KAKEL-VIT-60X60".
quantityTotal beräknad mängd (inklusive spill). Se Mängd.
elementRefsReferenser till de element som bidrar till mängden. Matchar ref i elements-arrayen.

Element

Varje objekt i elements representerar ett beräknat element, t.ex. ett rum eller en yta. Varje element har en unik ref som genereras vid exporten – den används för att koppla ihop materialmängder och recept med rätt element.

{
"ref": "EL321",
"name": "Sovrum",
"elementCategory": "Golv",
"attributes": [
{
"name": "Area",
"displayValue": "12.5 m²",
"valueNumber": 12.5,
"unit": "m²",
"unitCategory": "area",
"attributeType": "UNIT"
}
],
"recipeRefs": ["REC123"],
"recipes": [
{
"ref": "REC123",
"name": "Standardgolv",
"layers": [ ... ]
}
]
}
FältBeskrivning
refReferens inom exportfilen (t.ex. "EL321"). Används av materialQuantities[].elementRefs och recipes[].elementRefs.
nameElementnamn.
elementCategoryElementkategorinamn (t.ex. "Golv", "Vägg").
attributesUppmätta eller inmatade attributvärden. Se Elementattribut.
recipeRefsReferenser till använda recept. Matchar ref i recipes-arrayen.
recipesPer-element ingrediensuppdelning för varje recept. Se ElementRecept.

ElementRecept

{
"ref": "REC123",
"name": "Standardgolv",
"layers": [
{
"name": "Lager 1",
"ingredients": [ ... ]
}
]
}
FältBeskrivning
refReferens till receptet. Matchar ref i toppnivåns recipes-array.
nameReceptnamn.
layersLager med ingredienser. Se Lager.

Recept

recipes innehåller en post per unikt recept som används i delprojektet. Mängder är aggregerade över alla element som använder receptet.

{
"ref": "REC123",
"name": "Standardgolv",
"elementCategory": "Golv",
"elementRefs": ["EL321", "EL999"],
"layers": [ ... ]
}
FältBeskrivning
refReferens inom exportfilen.
nameReceptnamn.
elementCategoryElementkategori som receptet tillhör.
elementRefsReferenser till alla element som använder receptet.
layersLager med aggregerade ingrediensmängder. Se Lager.

Lager

Ett lager grupperar ingredienser inom ett recept.

{
"name": "Lager 1",
"ingredients": [ ... ]
}
FältBeskrivning
nameLagernamn.
ingredientsIngredienser i lagret. Se Ingrediens.

Ingrediens

En ingrediens är ett byggmaterial som används i ett recepts lager.

{
"name": "Kakel",
"categoryCode": "KAKEL",
"categoryName": "Kakel",
"materialCode": "VIT",
"materialName": "Kakel Vit",
"specificationCode": "60X60",
"specificationName": "60×60 cm",
"combinedCode": "KAKEL-VIT-60X60",
"wasteFactor": 1.1,
"isExcludedFromCalculation": true,
"quantity": { ... }
}
FältBeskrivning
nameIngrediensnamn (från receptdefinitionen).
categoryCodeKod för materialkategorin.
categoryNameNamn på materialkategorin.
materialCodeKod för materialet.
materialNameNamn på materialet.
specificationCodeKod för materialspecifikationen.
specificationNameNamn på materialspecifikationen.
combinedCodeKategori-, material- och specifikationskoder sammanfogade med -.
wasteFactorSpill/förlustfaktor (t.ex. 1.1 = 10% spill).
isExcludedFromCalculationtrue om ingrediensen är exkluderad från totalsumman.
quantityBeräknad mängd. Se Mängd.

Elementattribut

Attributvärden uppmätta eller inmatade för ett element (t.ex. area, längd).

{
"name": "Area",
"displayValue": "12.5 m²",
"valueNumber": 12.5,
"unit": "m²",
"unitCategory": "area",
"attributeType": "UNIT"
}
FältBeskrivning
nameAttributnamn.
displayValueVärdet som text, t.ex. "12.5 m²".
valueNumberVärdet som ett tal.
unitEnhetssymbol, t.ex. "m²", "st".
unitCategoryEnhetskategori, t.ex. "area", "length".
attributeTypeEn av "UNIT", "NUMBER", "TEXT", "BOOLEAN".

Mängd

Mängdobjekt är hur vi representerar ett värde, dess enhet, och dess kategori

{
"displayValue": "38.5 m²",
"valueNumber": 38.5,
"unit": "m²",
"unitCategory": "area",
"attributeType": "UNIT",
"constructionMaterialSpecWidthMM": 600,
"constructionMaterialSpecDepthMM": 600
}
FältBeskrivning
displayValueVärdet som text, t.ex. "38.5 m²".
valueNumberVärdet som ett tal.
valueBoolSant/falskt-värde.
valueStringTextvärde.
unitEnhetssymbol, t.ex. "m²", "pcs", "kg".
unitCategoryEnhetskategori, t.ex. "area", "length", "weight".
attributeTypeEn av "UNIT", "NUMBER", "TEXT", "BOOLEAN".
constructionMaterialSpecWidthMMBredden på materialets specifikation i mm. Används t.ex. för att räkna om m² till löpmeter.
constructionMaterialSpecDepthMMTjockleken/höjden på materialets specifikation i mm.

Materialkodsystem

combinedCode är ett hjälpfält: koder sammanfogas med - i ordningen Kategori → Material → Specifikation.

ExempelcombinedCode
Kategori KAKEL, Material VIT, Spec 60X60KAKEL-VIT-60X60
Kategori KAKEL, Material VIT, ingen specKAKEL-VIT

Projektattribut

Projektattribut är anpassade fält som kunden själv har skapat under Inställningar → Attribut → Projektattribut. När ett attribut lagts till där syns det som ett ifyllbart fält på projektet.

Detta är ingenting som finns som standard – det kräver att någon aktivt skapat attribut för just detta projekt. Om fälten har skapats, och fyllts i på projektet, så inkluderas de här. Annars utelämnas projectAttributes helt.

"projectAttributes": {
"Kundnummer": "545454545",
"Avtalsreferens": "AVT-2026-001"
}