Funkcija »JSON« v rešitvi Power Apps
Ustvari besedilni niz JSON za tabelo, zapis ali vrednost.
Opis
Funkcija JSON vrne ponazoritev podatkovne strukture JavaScript Object Notation (JSON) kot besedilo, tako da je primerna za shranjevanje ali prenos prek omrežja. ECMA-404 in IETF RFC 8259 opisujeta obliko zapisa, ki jo pogosto uporabljajo JavaScript in drugi programski jeziki.
Aplikacije delovnega območja podpirajo vrste podatkov, ki so navedene v tej tabeli skupaj s podrobnosti o njihovi ponazoritvi besedila:
| Vrsta podatkov | Opis | Primer rezultata |
|---|---|---|
| Logični | true ali false. | true |
| Barva | Niz, ki vsebuje osemmestno šestnajstiško ponazoritev barve. Ta ponazoritev ima obliko zapisa #rrggbbaa, kjer je rr rdeča komponenta, gg zelena komponenta, bb modra komponenta, aa pa je kanal alfa. Pri kanalu alfa 00 pomeni popolno prosojnost, ff pa popolno neprosojnost. Niz lahko prenesete v funkcijo ColorValue. | "#102030ff" |
| Valuta | Številka, ki za jezik uporabnika uporablja ustrezno decimalno ločilo. Po potrebi se uporabi znanstveni zapis. | 1.345 |
| Datum | Niz, ki vsebuje datum v obliki zapisa ISO 8601 llll-mm-dd. | "2019-03-31" |
| Datum in čas | Niz, ki vsebuje datum/čas ISO 8601. Vrednosti datum/čas sta v UTC, kar označuje končnica »Z«. | "2019-03-31T22:32:06.822Z" |
| GUID | Niz, ki vsebuje vrednost GUID. Črke so male. | "751b58ac-380e-4a04-a925-9f375995cc40" |
| Slika, predstavnost | Če je določena lastnost IncludeBinaryData, so predstavnostne datoteke kodirane v nizu. Spletne reference, ki uporabljajo shemo URL http: ali https:, se ne spremenijo. Sklici na dvojiške podatke v pomnilniku so kodirani z obliko zapisa "data:mimetype;base64,...". Podatki v pomnilniku vključujejo slike, ki jih uporabniki zajamejo s kontrolnikom Camera, in vse druge sklice s shemami URL appres: in blob:. | "data:image/jpeg;base64,/9j/4AA..." |
| Številka | Številka, ki za jezik uporabnika uporablja ustrezno decimalno ločilo. Po potrebi se uporabi znanstveni zapis. | 1.345 |
| Nabor možnosti | Številska vrednost izbire, ne oznaka, ki se uporablja za prikaz. Številska vrednost se uporablja zato, ker ni odvisna od jezika. | 1001 |
| Ura | Niz, ki vsebuje obliko zapisa ISO 8601 hh:mm:ss.fff. | "23:12:49.000" |
| Zapis | Seznam, ločen z vejico, med { in } ali polji in njihovimi vrednostmi. Ta zapis spominja na zapise v aplikacijah delovnega območja, vendar je ime vedno med dvojnimi narekovaji. Ta oblika zapisa ne podpira zapisov, ki temeljijo na odnosih »mnogo proti ena«. | { "First Name": "Fred", "Age": 21 } |
| Table | Seznam, ločen z vejico, med [ in ] v zapisih. Ta oblika zapisa ne podpira tabel, ki temeljijo na odnosih »ena proti mnogo«. | [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ] |
| Dve možnosti | Logična vrednost za dve možnosti, true ali fals, in ne oznaka, ki se uporablja za prikaz. Logična vrednost se uporablja zato, ker ni odvisna od jezika. | false |
| Hiperpovezava, besedilo | Niz med dvojnimi narekovaji. Funkcija se izogne vdelanim dvojnim narekovajem s poševnico nazaj, nove vrstice nadomesti z »\n« in naredi druge standardne zamenjave za JavaScript. | "This is a string." |
Določite neobvezni argument Oblika zapisa in upravljajte, kako berljiv je rezultat in kako se obravnavajo nepodprte vrste in vrste dvojiških podatkov. Privzeto je rezultat čim bolj strnjen, brez nepotrebnih presledkov ali novih vrstic, nepodprte vrste podatkov in dvojiški podatki pa niso dovoljeni. Če določite operator &, lahko združite več oblik zapisa.
| Enumerator JSONFormat | Opis |
|---|---|
| Kompaktno | Privzeto. Rezultat je karseda strnjen, brez dodanih presledkov ali novih vrstic. |
| IndentFour | Za izboljšanje berljivosti rezultat vsebuje novo vrstico za vsak stolpec in raven gnezdenja ter uporabi štiri presledke za vsako raven zamika. |
| IncludeBinaryData | Rezultat vključuje stolpce za slike, videoposnetke in zvočne posnetke. Ta oblika zapisa lahko znatno poveča velikost rezultata in zmanjša učinkovitost delovanja vaše aplikacije. |
| IgnoreBinaryData | Rezultat ne vključuje stolpcev za slike, videoposnetke ali zvočne posnetke. Če ne določite enumeratorja IncludeBinaryData niti IgnoreBinaryData, funkcija ustvari napako, če naleti na dvojiške podatke. |
| IgnoreUnsupportedTypes | Nepodprte vrste podatkov so dovoljene, vendar jih rezultat ne vključi. Nepodprte vrste podatkov privzeto ustvarijo napako. |
Uporabite funkciji ShowColumns in DropColumns ter upravljajte, katere podatke vključuje rezultat, in odstranite nepodprte vrste podatkov.
Ker je funkcija JSON lahko zahteven postopek za pomnilnik in računalnik, lahko to funkcijo uporabljate samo v funkcijah delovanja. Rezultat iz funkcije JSON lahko zajamete v spremenljivko, ki jo nato lahko uporabite v podatkovnem toku.
Če ima stolpec prikazno ime in logično ime, rezultat vsebuje logično ime. Prikazna imena odražajo jezik uporabnika aplikacije in so zato neprimerna za prenos podatkov v skupno storitev.
Sintaksa
JSON( DataStructure [, Format ] )
- DataStructure – obvezno. Struktura podatkov za pretvorbo v JSON. Tabele, zapisi in osnovne vrednosti so podprte in poljubno ugnezdene.
- Format – neobvezno. Vrednost enumeratorja JSONFormat. Privzeta vrednost je Compact, ki ne doda novih vrstic ali presledkov ter blokira dvojiške podatke in nepodprte stolpce.
Primeri
Hierarhični podatki
Vstavite kontrolnik Button in nastavite njegovo lastnost OnSelect na to formulo.
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" ) )Izberite gumb, medtem ko držite tipko Alt.
Zbirka CitiesByCountry je ustvarjena s to strukturo podatkov, ki jo lahko pokažete tako, da izberete Zbirke v meniju Mapa in nato izberete ime zbirke.

To zbirko lahko prikažete tudi z izbiro Nastavitve > Prihajajoče funkcije > Omogoči pogled rezultatov vrstice s formulo, tako da izberete ime zbirke v vrstici s formulo in nato izberete puščico navzdol poleg imena zbirke pod vrstico s formulo.

Vstavite še en gumb in nastavite njegovo lastnost OnSelect na to formulo:
Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )Ta formula nastavi globalno spremenljivko CitiesByCountryJSON v ponazoritev JSON za CitiesByCountry.
Izberite gumb, medtem ko držite tipko Alt.
Vstavite kontrolnik Label in nastavite njegovo lastnost Besedilo na to spremenljivko:
CitiesByCountryJSONOznaka prikaže ta rezultat, in sicer v celoti v eni vrstici brez presledkov, tako da je primeren za prenos prek omrežja:
[{"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"}]Spremenite formulo drugega gumba, da bo rezultat bolj berljiv.
Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))Medtem ko držite tipko Alt, izberite drugi gumb.
Oznaka prikazuje bolj berljiv rezultat.
[ { "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" } ]
Slike in predstavnost v obliki zapisa Base64
Dodajte kontrolnik Slika.
Ta kontrolnik doda SampleImage.
Dodajte kontrolnik Button in nastavite njegovo lastnost OnSelect na to formulo.
Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )Izberite gumb, medtem ko držite tipko Alt.
Dodajte oznako in nastavite njeno lastnost Besedilo na to spremenljivko.
ImageJSONČe želite prikazati večino rezultata, spremenite velikost kontrolnika in zmanjšajte velikost pisave.
Oznaka prikaže besedilni niz, ki ga je zajela funkcija JSON.
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQSIgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"
Opomba
Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)
Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).
Povratne informacije
Pošlji in prikaži povratne informacije za