JSON-funktsioon

Kehtib: lõuendirakendused Mudelipõhised rakendused

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

Kirjeldus

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

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

Andmetüüp Kirjeldus Tulemi näide
Loogika 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 ja 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
Kellaaeg String, mis sisaldab ISO 8601 vormingut hh:mm:ss.fff. "23:12:49.000"
Kirje 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 }
Table 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 } ]
Teine võimalus 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 . JSON-is tähistab sama märge kolmest numbrist koosnevat massiivi. Nende kahe vahelise koostalitlusvõime hõlbustamiseks tasandab Power Fx see suvand väärtuse tabeli JSON-sõbraliku massiiviga, mitte kirjemassiiviga.
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 võib olla nii mälu- kui ka töömahukas, saate seda funktsiooni kasutada ainult käitumise funktsioonides. Saate tulemi hõivata JSON-istmuutujasse, mida saate seejärel kasutada andmevoos.

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. Andmestruktuur teisendatakse JSON-vormingusse. Toetatud on tabelid, kirjed ja primitiivsed väärtused, suvaliselt pesastatud.
  • Vorming – valikuline. JSONFormat loendi 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 CitiesByCountryJSON JSON esitusele CitiesByCountry jaoks.

  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 tekstistring, mille funktsioon JSON JSON hõivas.

    "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].

Pange tähele, et suvand FlattenValueTables ei mõjuta JSON-i kasutamist kogudega CityPopulations või CitiesByCountry , kuna need tabelid ei ole väärtustabelid. Väärtuste tabelil on üks veerg ja selle nimi peab olema "Väärtus".