Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Vzťahuje sa na: Aplikácie plátna Aplikácie Copilot Studio
Modelom riadené aplikácie
Power Platform CLI
Dataverse funkcie
Power Pages
Vygeneruje textový JSON reťazec pre tabuľku, záznam alebo hodnotu.
Popis
Funkcia JSON vráti zápis objektu v jazyku JavaScript (JSON) štruktúry údajov ako text, takže je vhodný na ukladanie alebo prenos v sieti. [ECMA-404](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf a IETF RFC 8259 popisujú formát, ktorý je široko používaný v JavaScript a iných programovacích jazykoch.
Aplikácie plátna podporujú typy údajov, ktoré sú uvedené v tejto tabuľke s podrobnosťami o ich textovom znázornení:
| Typ údajov | Popis | Príklad výsledku |
|---|---|---|
| Boolean | pravda alebo nepravda. | true |
| Farba | Reťazec, ktorý obsahuje 8-ciferné hexadecimálne zobrazenie farby. Táto reprezentácia má formát #rrggbbaa, kde rr je červená zložka, gg je zelená, bb je modrá a aa je alfa kanál. Pre alfa kanál je 00 úplne transparentný a ff úplne nepriehľadný. Reťazec môžete odovzdať do funkcie ColorValue. | "#102030ff" |
| mena | Číslo, ktoré používa príslušný desatinný oddeľovač pre jazyk používateľa. V prípade potreby sa používa vedecký zápis. | 1.345 |
| Dátum | Reťazec obsahujúci dátum vo formáte ISO 8601 rrrr-mm-dd. | "2019-03-31" |
| DateTime | Reťazec, ktorý obsahuje dátum a čas podľa normy ISO 8601. Hodnoty dátumu a času sú v UTC, ako naznačuje „Z“ na konci. | "2019-03-31T22:32:06.822Z" |
| GUID | Reťazec, ktorý obsahuje hodnotu GUID. Písmená sú malé. | "751b58ac-380e-4a04-a925-9f375995cc40" |
| Obrázok, médiá | Ak je zadané JSONFormat.IncludeBinaryData , mediálne súbory sú zakódované do reťazca. Webové odkazy, ktoré používajú schému URL „http:“ alebo „https:“ sa nemenia. Odkazy na binárne údaje v pamäti sú kódované vo formáte "data:mimetype;base64,...". Dáta v pamäti zahŕňajú obrázky, ktoré používatelia zachytávajú pomocou ovládacieho prvku Fotoaparát a akékoľvek ďalšie odkazy so schémami URL „appres:“ a „blob:“. | "data:image/jpeg;base64,/9j/4AA..." |
| číslo | Číslo, ktoré používa príslušný desatinný oddeľovač pre jazyk používateľa. V prípade potreby sa používa vedecký zápis. | 1.345 |
| množina možností | Číselná hodnota výberu, nie označenie, ktoré sa používa na zobrazenie. Číselná hodnota sa používa, pretože je nezávislá od jazyka. | 1001 |
| čas | Reťazec, ktorý obsahuje formát ISO 8601 hh:mm:ss.fff. | "23:12:49.000" |
| Záznam | Zoznam oddelený čiarkami, medzi { a }, polí a ich hodnôt. Tento zápis sa podobá na záznamy v aplikáciách plátna, ale názov je vždy medzi dvojitými úvodzovkami. Tento formát nepodporuje záznamy, ktoré sú založené na vzťahoch mnohé k jednému. | { "First Name": "Fred", "Age": 21 } |
| Tabuľka | Zoznam oddelený čiarkami, medzi [ a ], záznamov. Tento formát nepodporuje tabuľky, ktoré sú založené na vzťahoch typu jeden k mnohým. Pomocou možnosti JSONFormat.FlattenValueTables odstráňte záznam pre tabuľky s jedným stĺpcom so stĺpcom s názvom Value. | [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ] |
| Dve možnosti | Logická hodnota oboch možností, pravda alebo nepravda, nie štítok, ktorý sa používa na zobrazenie. Logická hodnota sa používa, pretože je nezávislá od jazyka. | false |
| Hypertextový odkaz, text | Reťazec medzi dvojitými úvodzovkami. Funkcia sa ukončuje vloženými dvojitými úvodzovkami so spätnou lomkou, nahrádza nové riadky za „\n“ a vykonáva ďalšie štandardné náhrady JavaScript. | "This is a string." |
Zadajte voliteľný argument Formát na kontrolu toho, ako je výsledok čitateľný a ako sa zaobchádza s nepodporovanými a binárnymi typmi údajov. Výstup je v predvolenom nastavení čo najkompaktnejší bez zbytočných medzier alebo nových riadkov a nepodporované typy údajov a binárne údaje nie sú povolené. Ak zadáte operátor & , môžete kombinovať viacero formátov.
| Enumerácia JSONFormat | Popis |
|---|---|
| JSONFormat.Compact | Predvolené. Výstup je čo najkompaktnejší bez pridania medzier alebo nových riadkov. |
| JSONFormat.FlattenValueTables | Ako Tabuľka hodnôt, [1,2,3] zápis vedie k tabuľke obsahujúcej záznamy, kde každý záznam má jednu hodnotu stĺpec. V JSONargumente predstavuje ten istý zápis pole s tromi číslami. S cieľom zjednodušiť interoperabilitu medzi týmito dvoma možnosťami zjednoduší táto možnosť tabuľku Hodnôt služby Power Fx na JSON priateľské pole namiesto poľa záznamov. |
| JSONFormat.IndentFour | Na zlepšenie čitateľnosti obsahuje výstup nový riadok pre každý stĺpec a úroveň vnorenia a používa štyri medzery pre každú úroveň odsadenia. |
| JSONFormat.IncludeBinaryData | Výsledkom sú stĺpce obrázkov, videa a zvukových klipov. Tento formát môže dramaticky zväčšiť veľkosť výsledku a znížiť výkonnosť vašej aplikácie. |
| JSONFormat.IgnoreBinaryData | Výsledok neobsahuje stĺpce obrázkov, videa a zvukových klipov. Ak nezadáte ani JSONFormat.IncludeBinaryData ani JSONFormat.IgnoreBinaryData, funkcia vygeneruje chybu, ak narazí na binárne údaje. |
| JSONFormat.IgnoreUnsupportedTypes | Nepodporované typy údajov sú povolené, ale výsledok ich nebude obsahovať. V predvolenom nastavení nepodporované typy údajov spôsobujú chybu. |
Funkcie ShowColumns a DropColumns použite na kontrolu, ktoré údaje výsledok obsahuje, a na odstránenie nepodporovaných typov údajov.
Pretože JSON môže byť pamäť aj náročné na výpočet, môžete túto funkciu použiť iba vo funkciách správania. Výsledok môžete zaznamenať z JSONpremennej, ktorú potom môžete použiť v toku údajov.
Ak stĺpec obsahuje zobrazovaný názov aj logický názov, výsledok obsahuje logický názov. Zobrazované názvy odrážajú jazyk používateľa aplikácie, a preto nie sú vhodné na prenos údajov do spoločnej služby.
Syntax
JSON( DataStructure [, Format ] )
- DataStructure – povinné. Štruktúra údajov, ktorá sa má previesť na JSON. Tabuľky, záznamy a primitívne hodnoty sú podporované, ľubovoľne vnorené.
- Formát – voliteľné. Hodnota JSONFormat enumerácia. Predvolená hodnota je JSONFormat.Compact, ktorá nepridáva nové riadky ani medzery a blokuje binárne údaje a nepodporované stĺpce.
Príklady
Hierarchické údaje
Vložte ovládací prvok Tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec.
ClearCollect( CityPopulations, { City: "London", Country: "United Kingdom", Population: 8615000 }, { City: "Berlin", Country: "Germany", Population: 3562000 }, { City: "Madrid", Country: "Spain", Population: 3165000 }, { City: "Hamburg", Country: "Germany", Population: 1760000 }, { City: "Barcelona", Country: "Spain", Population: 1602000 }, { City: "Munich", Country: "Germany", Population: 1494000 } ); ClearCollect( CitiesByCountry, GroupBy( CityPopulations, "Country", "Cities" ) )Podržte kláves Alt a vyberte tlačidlo.
Vytvorí sa kolekcia CitiesByCountry s touto dátovou štruktúrou, ktorú môžete zobraziť výberom možnosti Collections v ponuke File a následným výberom názvu kolekcie.
Túto zbierku môžete tiež zobraziť stlačením možnosti Nastavenia>Pripravované funkcie>Povoliť zobrazenie výsledkov na riadku vzorcov, výberom názvu kolekcie na paneli vzorcov a následným výberom šípky nadol vedľa názvu kolekcie pod panelom vzorcov.
Vložte ďalšie tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec:
Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )Tento vzorec nastaví globálnu premennú CitiesByCountryJSON na reprezentáciu JSON pre CitiesByCountry.
Podržte kláves Alt a vyberte tlačidlo.
Vložte ovládací prvok Označenie a nastavte jeho vlastnosť Text na túto premennú.
CitiesByCountryJSONOznačenie ukazuje tento výsledok, všetko na jednom riadku bez medzier, vhodný na prenos v sieti:
[ { "Cities": [{ "City": "London", "Population": 8615000 }], "Country": "United Kingdom" }, { "Cities": [ { "City": "Berlin", "Population": 3562000 }, { "City": "Hamburg", "Population": 1760000 }, { "City": "Munich", "Population": 1494000 } ], "Country": "Germany" }, { "Cities": [ { "City": "Madrid", "Population": 3165000 }, { "City": "Barcelona", "Population": 1602000 } ], "Country": "Spain" } ]Zmeňte vzorec druhého tlačidla, aby bol výstup čitateľnejší.
Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))Podržte kláves Alt a vyberte druhé tlačidlo.
Označenie zobrazuje čitateľnejší výsledok.
[ { "Cities": [ { "City": "London", "Population": 8615000 } ], "Country": "United Kingdom" }, { "Cities": [ { "City": "Berlin", "Population": 3562000 }, { "City": "Hamburg", "Population": 1760000 }, { "City": "Munich", "Population": 1494000 } ], "Country": "Germany" }, { "Cities": [ { "City": "Madrid", "Population": 3165000 }, { "City": "Barcelona", "Population": 1602000 } ], "Country": "Spain" } ]
Obrázky a médiá v base64
Pridajte ovládací prvok Obrázok.
Tento ovládací prvok prináša SampleImage.
Pridajte ovládací prvok Tlačidlo a nastavte jeho vlastnosť OnSelect na tento vzorec.
Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )Podržte kláves Alt a vyberte tlačidlo.
Pridajte označenie a do jeho vlastnosti Text zadajte túto premennú.
ImageJSONZmeňte veľkosť ovládacieho prvku a podľa potreby zmenšite veľkosť písma, aby sa zobrazila väčšina výsledku.
Označenie zobrazí textový reťazec, ktorý JSON funkcia zachytiť.
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQSIgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"
Tabuľky hodnôt
Tento vzorec:
JSON( [1,2,3] )
Vytvorí textový reťazec [{"Value":1},{"Value":2},{"Hodnota":3}].
Rovnaký vzorec s možnosťou JSONFormat.FlattenValueTables:
JSON( [1,2,3], JSONFormat.FlattenValueTables )
Vytvorí textový reťazec [1,2,3].
Všimnite si, že možnosť FlattenValueTables nemá žiadny vplyv pri použití JSON s kolekciami CityPopulations alebo CitiesByCountry , pretože tieto tabuľky nie sú tabuľkami Value. Tabuľka hodnôt má jeden stĺpec a musí mať názov "Hodnota".