Power Appsin JSON-funktio

Muodostaa JSON-tekstimerkkijonon taulukolle, tietueelle tai arvolle.

Kuvaus

JSON-funktio palauttaa tietorakenteen JavaScript Object Notation (JSON) -esityksen tekstinä, jotta se voidaan tallentaa tai välittää verkon kautta. ECMA-404 ja IETF RFC 8259 kuvaavat muotoa, jota JavaScript ja muut ohjelmointikielet käyttävät laajalti.

Kaaviosovellukset tukevat tietotyyppejä, jotka tässä taulukossa on lueteltu niiden tekstimuodosta:

Tietotyyppi Kuvaus Tulosesimerkki
Totuusarvo tosi tai epätosi. true
Väri Merkkijono, joka sisältää värin 8-numeroisen heksadesimaaliesityksen. Tämä esitys tulee muodossa #rrggbbaa, jossa rr on punainen komponentti, gg on vihreä, bb on sininen, ja aa on alfakanava. Alfakanavalla 00 on täysin läpinäkyvä, ja ff on täysin läpinäkymätön. Voit siirtää merkkijonon ColorValue-funktioon. "#102030ff"
Valuutta Numero, joka käyttää käyttäjän kielelle soveltuvaa desimaalierotinta. Tieteellistä merkintää käytetään tarvittaessa. 1.345
Päivämäärä Merkki jono, joka sisältää päivämäärän ISO 8601 yyyy-mm-dd -muodossa. "2019-03-31"
Päivämäärä ja aika Merkkijono, joka sisältää ISO 8601 -päivämäärän/-ajan. Päivämäärä- ja aika-arvot ovat UTC-muodossa, kuten loppu "Z" osoittaa. "2019-03-31T22:32:06.822Z"
GUID Merkkijono, joka sisältää GUID-arvon. Kirjaimet ovat pieniä kirjaimia. "751b58ac-380e-4a04-a925-9f375995cc40"
Kuva, mediasisältö Jos IncludeBinaryData on määritetty, mediatiedostot koodataan merkkijonoon. http: tai https: URL-osoitemallia käyttäviä www-viittauksia ei muuteta. Viittaukset muistissa oleviin binaaritietoihin koodataan muodossa "data:mimetype;base64,...". Muistissa oleviin tietoihin kuuluu kuvia, joita käyttäjät käyttävät Kamera-ohjausobjektin ja muiden appress: ja blob: URL-osoitteiden kanssa. "data:image/jpeg;base64,/9j/4AA..."
Luku Numero, joka käyttää käyttäjän kielelle soveltuvaa desimaalierotinta. Tieteellistä merkintää käytetään tarvittaessa. 1.345
**Asetusjoukko ** Asetusjoukon numeerinen arvo, ei näytössä käytettävä otsikko. Numeroarvoa käytetään, koska se on kieliriippumaton. 1001
Time Merkkijono, joka sisältää muodon ISO 8601 hh:mm:ss.fff. "23:12:49.000"
Tietue Pilkuin eroteltu kenttien ja niiden arvojen luettelo sulkeiden { ja } välissä. Tämä merkitsemistapa muistuttaa tietueita kaaviososvelluksissa, mutta nimi on aina lainausmerkeissä. Tämä muoto ei tue monta-yhteen-suhteisiin perustuvia tietueita. { "First Name": "Fred", "Age": 21 }
Table Tietueiden pilkuilla erotettu luettelo sulkeiden [ ja ] välissä. Tämä muoto ei tue yksi-moneen-suhteisiin perustuvia taulukoita. [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ]
Kaksi vaihtoehtoa Kahden vaihtoehdon totuusarvo, tosi tai epätosi, ei näytössä käytettävä selite. Totuusarvoa käytetään, koska se on kieliriippumaton. false
Hyperlinkki, teksti Merkkijono lainausmerkeissä. Toiminto ohittaa upotetut lainausmerkit kenoviivalla, korvaa rivinvaihdon merkillä "\n" ja tekee muita JavaScript-vakiokorvauksia. "This is a string."

Määritä valinnainen Format-argumentti, joka määrittää tuloksen helppolukuisuuden ja sen, miten tukemattomia ja binaarisia tietotyyppejä käsitellään. Tuloste on oletusarvon mukaan mahdollisimman tiivis ilman turhia välilyöntejä tai rivinvaihtomerkkejä, eikä tietotyyppejä, joita ei tueta, tai binaaritietoja, ei sallita. Voit yhdistää useita muotoja, jos määrität operaattorin &.

JSONFormat-luettelointi Kuvaus
Compact Oletus. Tuotos on mahdollisimman pienikokoinen, eikä siinä ole lisättyjä välilyöntejä eikä rivinvaihtoja.
IndentFour Luettavuuden parantamiseksi tulosteessa on rivinvaihto- ja sisäkkäisyystasot sekä kullekin sisennystasolle neljä välilyöntiä.
IncludeBinaryData Tulos sisältää kuva-, video- ja äänileike-sarakkeet. Tämä muoto voi kasvattaa merkittävästi tuloksen kokoa ja heikentää sovelluksen tehokkuutta.
IgnoreBinaryData Tulos ei sisällä kuva-, video- ja äänileike-sarakkeita. Jos et määritä IncludeBinaryData- tai IgnoreBinaryData-parametria, funktio tuottaa virheen, jos se havaitsee binaaritietoja.
IgnoreUnsupportedTypes Tietotyyppejä, joita ei tueta, sallitaan, mutta tulos ei sisällä niitä. Oletusarvon mukaan ei-tuetut tietolajit tuottavat virheen.

ShowColumns ja DropColumns -toimintojen avulla voit määrittää, mitä tietoja tulos sisältää ja poistaa tietotyyppejä, joita ei tueta.

Koska JSON voi kuluttaa sekä muistia että laskentaa, voit käyttää tätä toimintoa vain käyttäytymistoiminnoissa. Voit siepata tuloksen JSON-funtiosta muuttujaan, jota voit käyttää tietojen työnkulussa.

Jos sarakkeella on sekä näyttönimi että looginen nimi, tuloksena on looginen nimi. Näyttönimet vastaavat sovelluksen käyttäjän kieltä, joten ne eivät sovellu tietojen siirtämiseen yleiseen palveluun.

Syntaksi

JSON( DataStructure [, Format ] )

  • DataStructure – pakollinen. Tietorakenne, joka muunnetaan JSON-muotoon. Taulukot, tietueet ja alkuperäiset arvot ovat tuettuja, mielivaltaisesti sisäkkäisinä.
  • Format - valinnainen. JSONFormat-luettelointiarvo. Oletus arvo on Compact, joka ei lisää rivin vaihtoja tai välilyöntejä, ja estää binaaritiedot ja sarakkeet, joita ei tueta.

Esimerkit

Hierarkkiset tiedot

  1. Lisää Painike-ohjausobjekti ja määritä sen OnSelect-ominaisuudeksi seuraava kaava.

    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" ) )
    
  2. Pidä Alt-näppäintä painettuna ja valitse painike.

    CitiesByCountrykokoelma luodaan tällä tietorakenteella, jonka voit näyttää valitsemalla Tiedosto-valikosta Kokoelmat ja valitsemalla sitten kokoelman nimen.

    CitiesByCountry-kokoelma

    Voit myös näyttää tämän kokoelman valitsemalla Tiedosto > Sovelluksen asetukset > Lisäasetukset > Ota kaavarivin tulosnäkymä käyttöön, valitsemalla kokoelman nimen kaavarivillä ja valitsemalla sitten alaspäin osoittavan nuolen kaavarivin alla olevan kokoelman nimen vieressä.

    Kaavarivin tulosnäkymän kokoelma

  3. Lisää toinen painike ja määritä sen OnSelect-ominaisuudeksi seuraava kaava:

    Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
    

    Tämä kaava määrittää yleisen muuttujan CitiesByCountryJSON JSON-esityksen kohteelle CitiesByCountry.

  4. Pidä Alt-näppäintä painettuna ja valitse painike.

  5. Lisää Selite-ohjausobjekti ja määritä sen Text-ominaisuudeksi seuraava muuttuja.

    CitiesByCountryJSON
    

    Otsikossa näkyy tämä tulos, kaikki yhdellä rivillä ilman välilyöntejä, jotka soveltuvat verkon yli siirtämistä varten:

    [{"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"}]
    
  6. Muuta toisen painikkeen kaavaa siten, että tulos on helppolukuinen.

    Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))
    
  7. Pidät Alt-näppäintä pohjassa ja valitse toinen painike.

    Selitteessä näkyy helppolukuisempi tulos.

    [
        {
            "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"
        }
    ]
    

Kuvat ja mediasisältö base64-muodossa

  1. Lisää Image-ohjausobjekti.

    Tämä ohjausobjekti tuo mukanaan kohteen SampleImage.

  2. Lisää Painike-ohjausobjekti ja määritä sen OnSelect-ominaisuudeksi seuraava kaava.

    Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
    
  3. Pidä Alt-näppäintä painettuna ja valitse painike.

  4. Lisää otsikko ja aseta sen Text-ominaisuudeksi tämä muuttuja.

    ImageJSON
    
  5. Muuta ohjausobjektin kokoa ja pienennä fonttikokoa tarpeen mukaan, jolloin suurin osa tuloksesta näkyy.

    Selite näyttää tekstimerkkijonon, jonka JSON-toiminto tallensi.

    "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQSIgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"