Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Odnosi se na: Canvas aplikacije
Copilot Studio
Aplikacije zasnovane na
modelu Power Platform CLI
Dataverse funkcije
Power Pages
Generiše JSON tekstualnu nisku za tabelu, zapis ili vrednost.
Opis
Funkcija JSON vraća JavaScript Object Notation (JSON) prikaz strukture podataka kao tekst tako da je pogodna za skladištenje ili prenos preko mreže. [ECMA-404](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf i IETF RFC 8259 opisuju format, koji se široko koristi od strane JavaScript i drugih programskih jezika.
Aplikacije sa podlogom podržavaju tipove podataka koje ova tabela navodi, uz detalje o njihovim reprezentacijama teksta:
| Tip podataka | Opis | Primer rezultata |
|---|---|---|
| Bulovu | tačno ili lažno. | true |
| Boja | Niska koja sadrži osmocifrenu heksadecimalnu reprezentaciju boje. Ova reprezentacija ima format #rrggbbaa, gde je rr crvena komponenta, gg je zelena, bb je plava, a aa je alfa kanal. Za alfa kanal, 00 je potpuno transparentan, a ff je u potpunosti neproziran. Možete preneti nisku u funkciju ColorValue. | "#102030ff" |
| Valuta | Broj koji koristi odgovarajući znak za razdvajanje decimala za jezik korisnika. Naučni zapis se koristi ako je potrebno. | 1.345 |
| Datum | Niska koja sadrži datum u ISO 8601 formatu yyyy-mm-dd. | "2019-03-31" |
| Datum i vreme | Niska koja sadrži ISO 8601 datum/vreme. Vrednosti datum/vreme su u UTC, kao što označava završetak „Z“. | "2019-03-31T22:32:06.822Z" |
| GUID | Niska koja sadrži GUID vrednost. Slova su mala. | "751b58ac-380e-4a04-a925-9f375995cc40" |
| Slika, Mediji | Ako je specificiran JSONFormat.IncludeBinaryData , medijske datoteke su kodirane u nizu. Veb-reference koje koriste http: ili https: šemu URL adrese se ne menjaju. Reference na binarne podatke u memoriji su kodirane pomoću formata "data:mimetype;base64,...". Podaci u memoriji uključuju slike koje korisnici snimaju koristeći kontrolu Kamera i bilo koje druge reference sa appres: i blob: šemama URL adrese. | "data:image/jpeg;base64,/9j/4AA..." |
| Broj | Broj koji koristi odgovarajući znak za razdvajanje decimala za jezik korisnika. Naučni zapis se koristi ako je potrebno. | 1.345 |
| skup opcija | Numerička vrednost izbora, a ne oznaka koja se koristi za prikaz. Numerička vrednost se koristi jer je njen jezik nezavisan. | 1001 |
| Vreme | Niska koja sadrži ISO 8601 u formatu hh:mm:ss.fff. | "23:12:49.000" |
| Zapis | Lista polja i njihovih vrednosti, razdvojena zarezima između { i }. Ovaj oblik podseća na oblik zapisa u aplikacijama sa podlogom, ali ime je uvek između dvostrukih navodnika. Ovaj format ne podržava zapise koji se zasnivaju na relacijama „više prema jedan“. | { "First Name": "Fred", "Age": 21 } |
| Stol | Spisak zapisa, razdvojenih zarezom između [ i ]. Ovaj format ne podržava tabele koji se zasnivaju na relacijama „jedan prema više“. Koristite JSONFormat.FlattenValueTables opciju da uklonite zapis za tabele sa jednom kolonom pod nazivom Vrednost. | [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ] |
| Dve opcije | Logička vrednost od dve opcije, tačno ili netačno, a ne oznaka koja se koristi za prikaz. Logička vrednost se koristi jer je njen jezik nezavisan. | false |
| Hiperveza, Tekst | Niska između dvostrukih navodnika. Funkcija izbegava ugrađene dvostruke navodnike pomoću kose crte unazad, a nove crte zamenjuje sa „\n“, i vrši druge standardne zamene JavaScript modula. | "This is a string." |
Navedite opcionalni argument Format da biste kontrolisali koliko je rezultat čitljiv i kako se rukuje nepodržanim i binarnim vrstama podataka. Podrazumevano, izlaz je što kompaktniji, bez nepotrebnih razmaka ili novih linija, a nepodržani tipovi podataka i binarni podaci nisu dozvoljeni. Možete kombinovati više formata ako navedete & operator.
| Numerička vrednost JSONFormat | Opis |
|---|---|
| JSONFormat.Compact | Podrazumevano. Izlaz je najkompaktniji mogući bez dodatih razmaka ili novih linija. |
| JSONFormat.FlattenValueTables | Kao tabela vrednosti, [1,2,3] notacija rezultira u tabeli koja sadrži zapise gde svaki zapis ima jednu kolonu vrednosti . U JSONprogramu , ta ista beleška predstavlja niz od tri broja. Da bi međuoperabilost između njih bila lakša, ova opcija poravna Power Fx JSON tabelu vrednosti u prepoznatljiv niz umesto niza zapisa. |
| JSONFormat.IndentFour | Da bi se poboljšala čitljivost, izlazna vrednost sadrži novu liniju za svaku kolonu i nivo ugnežđivanja, a koristi i četiri razmaka za svaki nivo uvlačenja. |
| JSONFormat.IncludeBinaryData | Rezultat uključuje kolone za slike, video i audio snimke. Ovaj format može dramatično povećati veličinu rezultata i degradirati performanse aplikacije. |
| JSONFormat.IgnoreBinaryData | Rezultat ne uključuje kolone za slike, video niti audio snimke. Ako ne navedete ni JSONFormat.IncludeBinaryData ni JSONFormat.IgnoreBinaryData, funkcija proizvodi grešku ako naiđe na binarne podatke. |
| JSONFormat.IgnoreUnsupportedTypes | Nepodržani tipovi podataka su dozvoljeni, ali rezultat ih neće uključivati. Podrazumevano, nepodržani tipovi podataka proizvode grešku. |
Koristite funkcije ShowColumns i DropColumns da biste kontrolisali koje podatke rezultat uključuje i uklanjali nepodržane tipove podataka.
Pošto JSON može da bude i memorija i računarski zahtevna, ovu funkciju možete da koristite samo u funkcijama ponašanja. Rezultat možete da uhvatite u promenljivojJSON, koju zatim možete da koristite u toku podataka.
Ako kolona sadrži i ime za prikaz i logičko ime, rezultat sadrži logičko ime. Imena za prikaz odražavaju jezik korisnika aplikacije i zbog toga su neprikladna za prenos podataka na zajedničku uslugu.
Sintaksa
JSON( DataStructure [, Format ] )
- DataStructure – Obavezno. Struktura podataka za konvertovanje u JSON. Tabele, zapisi i primitivne vrednosti su podržane, a i proizvoljno ugnežđene.
- Format - Opciono. JSONFormatnabrajanje vrednost. Podrazumevana vrednost je JSONFormat.Compact, koja ne dodaje nove linije ili razmake i blokira binarne podatke i nepodržane kolone.
Primeri
Hijerarhijski podaci
Umetnite kontrolu Dugme i podesite njeno svojstvo OnSelect prema ovoj formuli.
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" ) )Dok držite taster Alt pritisnut, izaberite dugme.
Kolekcija CitiesByCountry se kreira sa ovom strukturom podataka koju možete prikazati izborom Kolekcije u meniju Datoteka, a zatim izaberite naziv kolekcije.
Ovu kolekciju takođe možete prikazati ako izaberete meni Postavke>Predstojeće funkcije>Omogući prikaz rezultata na traci sa formulama, ako izaberete naziv kolekcije na traci sa formulama, a zatim odaberete strelicu nadole pored naziva kolekcije ispod trake sa formulama.
Umetnite drugo dugme i podesite njegovo svojstvo OnSelect prema ovoj formuli:
Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )Ova formula postavlja globalne promenljive gradoveByCountryJSONJSON na predstavljanje za gradoveByCountry.
Dok držite taster Alt pritisnut, izaberite dugme.
Umetnite kontrolu Oznaka, a zatim podesite njeno svojstvo Text na ovu promenljivu.
CitiesByCountryJSONOznaka prikazuje ovaj rezultat, sve na jednoj liniji bez razmaka, pogodnu za prenos putem mreže:
[ { "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" } ]Promenite formulu drugog dugmeta da bi rezultat bio čitljiviji.
Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))Dok držite taster Alt pritisnut, izaberite drugo dugme.
Oznaka prikazuje čitljiviji 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 i mediji u base64
Dodajte kontrolu Image.
Ova kontrola donosi SampleImage sa njim.
Dodajte kontrolu Dugme i podesite njeno svojstvo OnSelect prema ovoj formuli.
Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )Dok držite taster Alt pritisnut, izaberite dugme.
Dodajte oznaku i podesite njeno svojstvo Text prema ovoj promenljivoj:
ImageJSONPromenite veličinu kontrole i smanjite veličinu fonta prema potrebi da biste prikazali većinu rezultata.
Oznaka prikazuje tekstualnu nisku koju je funkcija JSON uhvatila.
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQSIgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"
Tabele vrednosti
Ova formula:
JSON( [1,2,3] )
Proizvodi tekstualni niz [{"Value":1},{"Value":2},{"Value":3}].
Ista formula sa opcijom JSONFormat.FlattenValueTables:
JSON( [1,2,3], JSONFormat.FlattenValueTables )
Proizvodi tekstualni niz [1,2,3].
Imajte na umu da opcija FlattenValueTables JSON nema uticaja kada se koristi sa kolekcijama "CityPopulations" ili "CityPopulations " ili "CityByCountry " zato što ove tabele nisu tabele vrednosti. Tabela vrednosti ima jednu kolonu i mora se zvati "Vrednost".