IsJson - skript- och diagramfunktionPÅ DEN HÄR SIDAN
IsJson() testar om en angiven sträng innehåller giltiga JSON-data (JavaScript Object Notation). Du kan även validera en specifik JSON-datatyp.
Syntax:
value IsJson(json [, type])
Returnerad datatyp: dual
Argument
json
Sträng att testa. Det kan innehålla extra mellanslag eller nyrader.
type
Valfritt argument som anger vilken JSON-datatyp som ska testas.
'value' (standard)
'objekt'
'object'
'sträng'
'number'
"Boolean"
'null'
Exempel: giltiga och ogiltiga diagramuttryck
IsJson( 'null' )
Returnerar -1 (true)
IsJson( '"abc"', 'value' )
Returnerar -1 (true)
IsJson( '"abc"', 'string' )
Returnerar -1 (true)
IsJson( 123, 'number' )
Returnerar -1 (true)
IsJson( 'text' )
Returnerar 0 (false) , 'text' är inte ett giltigt JSON -värde
IsJson( '"text"', 'number' )
Returnerar 0 (false) , '"text"' är inte ett giltigt JSON -tal
IsJson( '"text"', 'text' )
Returnerar 0 (false) , 'text' är inte en giltig JSON -typ
Exempel – grunderna i IsJson Diagramuttryck Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning som läses in i en datatabell som heter Example .
Ett fält i datatabellen heter API_Response .
Ett härlett fält som heter ID . I detta fält används funktionen Rec() för att räkna upp de ingående posterna.
Laddningsskript
Example:
Load
Recno() AS ID, API_Response
inline [
API_Response
'{"id": 1, "name": "Alice"}'
'{"id": 2, "name": "Bob"}'
'{invalid json string}'
'{"id": 4, "name": "Charlie"}'
'{"id": 5, name: "David"}'
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
Skapa följande beräknade dimension:
Resultattabell ID API_Response IsJson(API_Response) 1 {"id": 1, "name": "Alice"} -1 (true) 2 {"id": 2, "name": "Bob"} -1 (true) 3 {invalid json string} 0 (false) 4 {"id": 4, "name": "Charlie"} -1 (true) 5 {"id": 5, name: "David"} 0 (false)
Utmatningen returnerar -1 , eller true , för de värden som har giltig JSON-syntax.
Utmatningen returnerar 0 , eller false , för följande ID-poster (3 och 5 ) med ogiltig JSON:
{invalid json string} – Textsträngen representerar inte en giltig JSON-svarsstruktur.
{"id": 5, name: "David"} – Det andra nyckel-värdeparet saknar citattecken runt nyckeln "name" .
Exempel – IsJson-scenario Diagramuttryck Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Laddningsskript
Example:
Load *
INLINE [OrderDetails
'{ "order_id": "12345", "customer": { "name": "John Doe", "email": "john.doe@example.com"}, "items": {"product": "Laptop", "quantity": 2, "price": 1200 }, "total_price": 2400 }'
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:
Skapa följande mått:
IsJson( OrderDetails) , för att beräkna om värdena i OrderDetails är giltiga JSON.
IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ) Med hjälp av funktionen JsonGet hämtas JSON-texten för nyckeln price och det kontrolleras att värdet för price är ett tal.
Resultattabell OrderDetails IsJson(OrderDetails) IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ) { "order_id": "12345", "customer": { "name": "John Doe", "email": "john.doe@example.com"}, "items": {"product": "Laptop", "quantity": 2, "price": 1200 }, "total_price": 2400 } -1 (true) -1 (true)
Den första åtgärden returnerar -1 (true) eftersom OrderDetails innehåller giltig JSON-syntax.
Den andra åtgärden returnerar -1 (true) eftersom värdet på price -nyckeln är ett giltigt tal 1200 .
Se även: