Jagamisviis:


JSON funktsioon

Kehtib järgmise kohta: Lõuendirakendused Copilot Studio mudelipõhised rakendused Power Platform CLI Dataverse funktsioonid Power Pages

Genereerib JSON tabeli, kirje või väärtuse jaoks tekstistringi.

Kirjeldus

Funktsioon JSON tagastab andmestruktuuri JavaScript Object Notationi (JSON) tekstina esituse, et see sobiks võrgus salvestamiseks või edastamiseks. [EÜ-404](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf ja IETF RFC 8259 kirjeldavad vormingut, mida kasutavad laialdaselt JavaScript ja teised programmeerimiskeeled.

Lõuendi rakendused toetavad andmetüüpe, mida see tabel sisaldab koos üksikasjadega nende teksti esituse kohta.

Andmetüüp Kirjeldus Tulemi näide
loogiline tõene või väär. true
Värv String, mis sisaldab 8-kohalist kuueteistkümnendsüsteemis värvi esitust.. Esitus võtab vormingu #rrggbbaa, kus rr on punane komponent, gg on roheline, bb on sinine ja aa on alfa kanal. Alfa kanalis on 00 täiesti läbipaistev ja ff täiesti läbipaistmatu. Stringi saate edastada funktsioonile ColorValue. "#102030ff"
Valuuta Number, mis kasutab kasutaja keele jaoks sobivat kümnendkoha eraldajat. Vajadusel kasutatakse teaduslikku vormingut. 1.345
Kuupäev String, mis sisaldab kuupäeva ISO 8601 vormingus aaaa-kk-pp. "2019-03-31"
Kuupäev Kellaaeg String, mis sisaldab ISO 8601 kuupäeva/kellaaega. Kuupäeva/kellaaja väärtused on UTC-s, nagu lõpu "Z" näitab. "2019-03-31T22:32:06.822Z"
GUID String, mis sisaldab GUID-väärtust. Tähed on väikesed. "751b58ac-380e-4a04-a925-9f375995cc40"
Pilt, meedia Kui JSONFormat.IncludeBinaryData on määratud, kodeeritakse meediumifailid stringi. Veebiviited, mis kasutavad http: või https: URL-i skeemi ei muudeta. Viited mälu binaarsetele andmetele on kodeeritud vormingus "data:mimetype;base64,...". Mälus olevad andmed sisaldavad pilte, mida kasutajad hõivavad, kasutades juhtelementi kaamera ja muid viiteid rakenduses appres: ja blob: URL-i skeemid. "data:image/jpeg;base64,/9j/4AA..."
Arv Number, mis kasutab kasutaja keele jaoks sobivat kümnendkoha eraldajat. Vajadusel kasutatakse teaduslikku vormingut. 1.345
suvandikomplekt Valiku arvväärtus, mitte silt, mida kasutatakse kuvamiseks. Numbrilist väärtust kasutatakse, kuna see on keeleliselt sõltumatu. 1001
Aeg String, mis sisaldab ISO 8601 vormingut hh:mm:ss.fff. "23:12:49.000"
Rekord Väljade ja nende väärtuste komaga eraldatud loend { ja } vahel. See vorming meenutab, et lõuendi rakendustes olevate kirjete puhul, nimi on jutumärkides. See vorming ei toeta kirjeid, mille aluseks on mitu-ühele seosed. { "First Name": "Fred", "Age": 21 }
Laud Komaga eraldatud kirjete loend, [ ja ] vahel. See vorming ei toeta tabeleid, mille aluseks on üks-mitmele seosed. Kasutage suvandit JSONFormat.FlattenValueTables ühe veeruga tabelite kirje eemaldamiseks, mille veeru nimi on Väärtus. [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ]
Kaks võimalust Kahe suvandi loogikaväärtus, tõene või väär, mitte kuvamiseks kasutatav silt. Loogikaväärtust kasutatakse, kuna see on keeleliselt sõltumatu. false
Hüperlink, tekst Jutumärkides string. Funktsioon katkestab manustatud jutumärgid kurakriipsuga, asendab reavahetused väärtusega "\n" ja muudab muud standardsed JavaScripti asendused. "This is a string."

Määrake valikuline argument Vorming, et määrata, kuidas loetakse tulemit ja kuidas mittetoetatud ja binaarseid andmetüüpe käsitletakse. Vaikimisi on väljund võimalikult kompaktne ilma tarbetute tühikute või reavahetusteta ning toetuseta andmetüübid ja binaarsed andmed pole lubatud. Saate kombineerida mitut vormingut, kui määrate tehtemärgi.

JSONFormat loetelu Kirjeldus
JSONFormat.Compact Vaikesätted. Väljund on võimalikult kompaktne, kuid lisatud tühikuid ega reavahetusi pole.
JSONFormat.FlattenValueTables Väärtustetabelina annab märge tulemuseks tabeli, mis sisaldab kirjeid, [1,2,3] kus igal kirjel on üks veerg Väärtus . In JSON– sama tähis tähistab kolmest arvust koosnevat massiivi. Kahe variandi vahelise koostalitlusvõime hõlbustamiseks tasandab see suvand tabeli JSON Power Fx Value sõbraliku massiiviga, mitte kirjete massiiviga.
JSONFormat.IndentFour Loetavuse parendamiseks sisaldab väljund iga veeru ja pesastatud taseme jaoks uut rida ning kasutab iga taande jaoks nelja tühikut.
JSONFormat.IncludeBinaryData Tulem sisaldab pildi-, video- ja heliklipi veerge. See vorming võib järsult suurendada tulemite mahtu ja vähendada rakenduse jõudlust.
JSONFormat.IgnoreBinaryData Tulem ei sisalda pildi-, video- või heliklipi veerge. Kui te ei määra ei JSONFormat.IncludeBinaryData egaJSONFormat.IgnoreBinaryData, tekitab funktsioon binaarandmetega kokkupuutel tõrke.
JSONFormat.IgnoreUnsupportedTypes Mittetoetatavad andmetüübid on lubatud, kuid tulem ei sisalda neid. Vaikimisi annavad mittetoetatavad andmetüübid tõrke.

Kasutage funktsioone ShowColumns ja DropColumns, et määrata, milliseid andmeid tulem sisaldab ja eemaldada mittetoetatud andmetüüpe.

Kuna JSON see võib olla nii mälu- kui ka arvutimahukas, saate seda funktsiooni kasutada ainult käitumisfunktsioonides. Tulemi JSON saate jäädvustada muutujasse, mida saate seejärel kasutada andmevoodes.

Kui veerul on nii kuvatav nimi kui ka loogiline nimi, sisaldab tulem loogilist nime. Kuvatavad nimed näitavad rakenduse kasutaja keelt ja seetõttu ei sobi need andmete edastamiseks üldkasutatavasse teenusesse.

Süntaks

JSON( DataStructure [, Format ] )

  • DataStructure – nõutav. Teisendatav JSONandmestruktuur . Toetatud on tabelid, kirjed ja primitiivsed väärtused, suvaliselt pesastatud.
  • Vorming - valikuline. JSONFormat loend väärtus. Vaikeväärtus on JSONFormat.Compact, mis ei lisa uusi ridu ega tühikuid ning blokeerib binaarandmed ja toetamata veerud.

Näited

Hierarhilised andmed

  1. Sisestage juhtelement Nupp ja seadke selle atribuudiks OnSelect see valem.

    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. Valige nupp, hoides all klahvi Alt.

    CitiesByCountry kogumik luuakse andmestruktuuriga, mida saate kuvada, valides Kogumiku menüüs Fail ja valides seejärel kogumiku nime.

    CitiesByCountry kollektsioon.

    Samuti saate seda kogumit kuvada, valides Sätted>Tulevased funktsioonid>Luba valemiriba tulemivaade, valides valemiribalt kogumi nime ja seejärel valemiriba alt kogumi nime kõrval allanoole.

    Kogumine valemiriba tulemivaates.

  3. Lisage veel üks nupp ja määrake selle atribuudi OnSelect väärtus järgmisele valemile:

    Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
    

    See valem määrab globaalse muutuja CitiesByCountryJSONJSONvormingus CitiesByCountry.

  4. Valige nupp, hoides all klahvi Alt.

  5. Sisestage juhtelement silt ja seadke selle atribuut Tekst sellele muutujale.

    CitiesByCountryJSON
    

    Silt näitab seda tulemust, mis on kõik ühel real, millel pole tühikuid, mis sobib edastamiseks kogu võrgus.

    [
      {
        "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. Muutke teise nupu valemit, et väljund oleks loetavam.

    Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))
    
  7. Valige teine nupp, hoides all klahvi Alt.

    Silt näitab loetavamat tulemus.

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

Pildid ja meedia Base64-s

  1. Lisage juhtelement Image.

    See juhtelement toob kaasa SampleImage.

  2. Lisage juhtelement Nupp ja määrake selle atribuudi OnSelect väärtus järgmisele valemile.

    Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
    
  3. Valige nupp, hoides all klahvi Alt.

  4. Lisage silt ja määrake atribuut Tekst järgmisele muutujale.

    ImageJSON
    
  5. Muutke juhtelemendi suurust ja vähendage vastavalt vajadusele fondi suurust, et kuvada enamik tulemist.

    Sildil kuvatakse funktsiooni jäädvustatud tekstistring JSON .

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

Väärtuste tabelid

See valem:

JSON( [1,2,3] )

Loob tekstistringi [{"Väärtus":1},{"Väärtus":2},{"Väärtus":3}].

Sama valem suvandiga JSONFormat.FlattenValueTables:

JSON( [1,2,3], JSONFormat.FlattenValueTables )

Loob tekstistringi [1,2,3].

Võtke arvesse, et suvand FlattenValueTables ei mõjuta funktsiooni CityPopulations või CitiesByCountry kasutamiselJSON, kuna need tabelid pole väärtusetabelid. Väärtuste tabelil on üks veerg ja selle nimi peab olema "Väärtus".