Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR: NoSQL
Konverterar varje fält/värde-par i ett JSON-objekt till ett element och returnerar sedan uppsättningen element som en JSON-matris. Som standard innehåller matriselementen ett nytt k fält för det ursprungliga fältets namn och ett nytt v fält för det ursprungliga fältets värde. Dessa nya fältnamn kan anpassas ytterligare.
Syntax
ObjectToArray(<object_expr> [, <string_expr_1>, <string_expr_2>])
Argument
| beskrivning | |
|---|---|
object_expr |
Ett objektuttryck med egenskaper i fält/värde-par. |
string_expr_1
(Valfritt) |
Ett stränguttryck med ett namn för fältet som representerar fältdelen av det ursprungliga fältet/värdeparet. |
string_expr_2
(Valfritt) |
Ett stränguttryck med ett namn för fältet som representerar värdedelen i det ursprungliga fältet/värdeparet. |
Returtyper
En matris med element med två fält, antingen k och v eller anpassade namngivna fält.
Exempel
Det här exemplet visar hur du konverterar ett statiskt objekt till en matris med fält/värde-par med standard k - och v identifierare.
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
})
[
[
{
"k": "a",
"v": "12345"
},
{
"k": "b",
"v": "67890"
}
]
]
I det här exemplet uppdateras fältnamnet för att använda identifieraren name .
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "name")
[
[
{
"name": "a",
"v": "12345"
},
{
"name": "b",
"v": "67890"
}
]
]
I det här exemplet uppdateras värdenamnet för att använda identifieraren value och fältnamnet använder identifieraren key .
SELECT VALUE
ObjectToArray({
"a": "12345",
"b": "67890"
}, "key", "value")
[
[
{
"key": "a",
"value": "12345"
},
{
"key": "b",
"value": "67890"
}
]
]
Det här sista exemplet använder ett objekt i en befintlig container som lagrar data med hjälp av fält i ett JSON-objekt.
[
{
"name": "Witalica helmet",
"category": "sport-helmets",
"quantities": {
"small": 15,
"medium": 24,
"large": 2,
"xlarge": 0
}
}
]
I det här exemplet används funktionen för att dela upp objektet i ett matrisobjekt för varje fält/värde-par.
SELECT
p.name,
ObjectToArray(p.quantities, "size", "quantity") AS quantitiesBySize
FROM
products p
WHERE
p.category = "sport-helmets"
[
{
"name": "Witalica helmet",
"quantitiesBySize": [
{
"size": "small",
"quantity": 15
},
{
"size": "medium",
"quantity": 24
},
{
"size": "large",
"quantity": 2
},
{
"size": "xlarge",
"quantity": 0
}
]
}
]
Kommentarer
- Om indatavärdet inte är ett giltigt objekt blir
undefinedresultatet .