Partekatu honen bidez:


JSON funtzioa

Hauei aplikatzen zaie: Canvas aplikazioei Ereduetan oinarritutako aplikazioei Power Pages

JSON testu-katea sortzen du taula, erregistro edo balio baterako.

Deskribapenak

JSON funtzioak JavaScript Object Notation (JSON) datuak egitura baten testu gisa aurkezten du, sarean gordetzeko edo transmititzeko egokia izan dadin. [ECMA-404](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf eta IETF RFC 8259 formatua deskribatzen dute, JavaScript eta beste programazio-lengoaia batzuek oso erabiltzen dutena).

Mihise-aplikazioek onartzen dute datu motak taulan agertzen diren testuen errepresentazioari buruzko xehetasunak biltzen dituena:

Datu mota Deskribapenak Emaitza adibidea
Boolean true edo false. true
Kolorea Kolorea 8 digituko hamaseitarren irudikapena duen katea. Irudikapen honek formatua du #rrggbbaa, ez rr osagai gorria da gg berdea da, bb urdina da, eta aa kanal alfa da. Alfa kanalerako, 00 guztiz gardena da ff guztiz opakua da. Katea pasa dezakezu ColorValue funtziora. "#102030ff"
Moneta Erabiltzailearen hizkuntzarako bereizle hamartar egokia erabiltzen duen zenbakia. Beharrezkoa bada notazio zientifikoa erabiltzen da. 1.345
Data ISO 8601 datan datzan katea uuuu-hh-ee formatuan. "2019-03-31"
Data eta ordua ISO 8601 data eta ordua duen katea. Data eta orduaren balioak UTC-n daude, "Z" amaierak adierazten duen moduan. "2019-03-31T22:32:06.822Z"
GUIDa GUID balioa duen katea. Letrak minuskulak dira. "751b58ac-380e-4a04-a925-9f375995cc40"
Irudia, multimedia JSONFormat.IncludeBinaryData zehazten bada, multimedia-fitxategiak kate batean kodetzen dira. http: edo https: URL eskema erabiltzen duten web-erreferentziak ez dira aldatu. Memoriako datu bitarrei buruzko aipamenak kodetuta daude "data:mimetype;base64,..." formatuan. Memoriako datuek erabiltzaileek harrapatzen dituzten irudiak dira Kamera kontrol eta beste edozein erreferentzia appres: eta blob: URL eskemekin. "data:image/jpeg;base64,/9j/4AA..."
Zenbakia Erabiltzailearen hizkuntzarako bereizle hamartar egokia erabiltzen duen zenbakia. Beharrezkoa bada notazio zientifikoa erabiltzen da. 1.345
Aukera multzoa Aukeratutako balio numerikoa, ez bistaratzeko erabiltzen den etiketa. Zenbakiaren balioa hizkuntza independentea delako erabiltzen da. 1001
Ordua ISO 8601 duten katea hh:mm:ss.fff formatuan. "23:12:49.000"
Erregistroa Komaz bereizitako zerrenda, artean { eta }, eremuak eta horien balioak. Idazkera hau mihise aplikazioetako erregistroetarako da, baina izena komatxo bikoitzen artean dago beti. Formatu honek ez ditu onartzen erlazio askotan oinarritutako erregistroak. { "First Name": "Fred", "Age": 21 }
Table Komaz bereizitako zerrenda, artean [ eta ], erregistroak. Formatu honek ez ditu onartzen taularen batetik hainbatera erlazioetan oinarritutako erregistroak. Erabili JSONFormat.FlattenValueTables aukera Balioa izeneko zutabea duten zutabe bakarreko taulen erregistroa kentzeko. [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ]
Bi aukera Bi aukeraren balio boolearra, egia edo faltsua, ez erakusteko erabiltzen den etiketa. Balio boolearra hizkuntza independentea delako erabiltzen da. false
Hiperesteka,testua Komatxo bikoitzen arteko katea. Funtzioak komatxo bikoitz inskribatutako atzealdetik ihes egiten du, berrienak ordezkatzen ditu "\n", eta beste JavaScript ordezkapen estandar batzuk egiten ditu. "This is a string."

Zehaztu hautazkoa Formatua emaitza irakurgarria den eta datu mota bitarrek nola onartzen ez duten eta nola kudeatzen diren kontrolatzeko argumentua. Berez, irteera ahalik eta trinkoa da, alferrikako espaziorik edo lerro berririk gabe, eta onartzen ez diren datu motak eta datu bitarrak onartzen dira. Hainbat formatu konbina ditzakezu & eragilea zehazten baduzu.

JSONFormat zenbakitzea Deskribapenak
JSONFormat.Trintua Lehenetsia. Irteera ahalik eta trinkoa da, gehitutako espaziorik edo lerro berririk gabe.
JSONFormat.FlattenValueTables Balioen taula gisa, [1,2,3] notazioak erregistroak dituen taula bat sortzen du, non erregistro bakoitzak Balioa bakarra duen. zutabea. JSON-n, notazio horrek hiru zenbakiko array bat adierazten du. Bien arteko elkarreragingarritasuna errazteko, aukera honek a Power Fx Balio-taula JSON errespetatzen duen matrize batera berdintzen du erregistroen ordez.
JSONFormat.IndentFour Irakurgarritasuna hobetzeko, irteerak lerro berri bat dauka zutabe eta habia maila bakoitzeko eta lau espazio erabiltzen ditu koska maila bakoitzerako.
JSONFormat.IncludeBinaryData Emaitzak irudiak, bideoak eta audio klip zutabeak biltzen ditu. Formatu honek emaitzaren tamaina nabarmen handitu dezake eta aplikazioaren errendimendua degradatu.
JSONFormat.IgnoreBinaryData Emaitzak ez ditu irudiak, bideoak eta audio klip zutabeak biltzen. Ez JSONFormat.IncludeBinaryData ez JSONFormat.IgnoreBinaryData zehazten ez baduzu, funtzioak errore bat sortzen du datu bitarrak aurkitzen baditu.
JSONFormat.IgnoreUnsupportedTypes Onartu gabeko datu motak onartzen dira, baina emaitzak ez ditu barne hartuko. Berez, onartzen ez diren datu motek errorea sortzen dute.

Erabili ShowColumns eta DropColumns funtzioak funtzionatzen du emaitza zein datu kontrolatu eta onartzen ez diren datu motak ezabatzeko.

Delako JSON memoria eta konputagailua intentsiboa izan daiteke, funtzio hau soilik erabil dezakezu portaera funtzioak. Emaitza atera dezakezu JSON batean aldagaia, datu fluxuan erabil ditzakezu.

Zutabe batek bistaratzeko izena eta izen logikoa baldin baditu, emaitzek izen logikoa jasotzen dute. Bistaratutako izenek aplikazioaren erabiltzailearen hizkuntza islatzen dute eta, beraz, ez dira egokiak zerbitzu komun batera datuak transferitzeko.

Sintaxia

JSON( DataStructure [, Formatua ] )

  • DataStructure - Beharrezkoa. JSON bihurtzeko datuen egitura. Taulak, erregistroak eta balio primitiboak onartzen dira, modu arbitrarioan habiatuta.
  • Formatua -Aukerakoa. JSONFormat zenbakitzearen balioa. Balio lehenetsia JSONFormat.Compact da, eta horrek ez du lerro berririk edo zuriunerik gehitzen eta datu bitarrak eta onartzen ez diren zutabeak blokeatzen ditu.

Adibideak

Datu hierarkikoak

  1. Txertatu Button kontrola, eta ezarri horren OnSelect propietatea formula honetan.

    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. Hautatu botoia eta eduki sakatuta Alt tekla.

    CitiesByCountry bilduma sortzen da datuen egitura honekin, hautatuta erakuts dezakezula Bildumak gainean Fitxategia menua eta ondoren bildumaren izena hautatu.

    CitiesByCountry bilduma.

    Bilduma hau ere erakuts dezakezu hautatuta Ezarpenak>Datozen eginbideak>Gaitu formula barraren emaitza ikuspegia, formula barran bildumaren izena hautatuta, eta gero formula barraren azpian bildumaren izenaren ondoan dagoen beherako gezia hautatuta.

    Bilketa formula-barrako emaitzen ikuspegian.

  3. Txertatu beste botoi bat, eta ezarri horren OnSelect propietatea formula honetan:

    Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
    

    Formula honek aldagai globala ezartzen du CitiesByCountryJSON JSON ordezkaritzarako CitiesByCountry.

  4. Hautatu botoia eta eduki sakatuta Alt tekla.

  5. Txertatu Label kontrola eta ezarri horren Testua propietatea aldagai honetan:

    CitiesByCountryJSON
    

    Etiketak emaitza hori erakusten du, guztiak espaziorik gabeko lerro bakarrean, sarean zehar transmititzeko egokia:

    [
      {
        "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. Aldatu bigarren botoiaren formula, irteera irakurgarriagoa izan dadin.

    Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))
    
  7. Hautatu bigarren botoia eta eduki sakatuta Alt tekla.

    Etiketak emaitza irakurgarriagoa erakusten du.

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

Irudiak eta multimedia base64 formatuan

  1. Gehitu irudia kontrola.

    Kontrol honek dakar SampleImage horrekin.

  2. Gehitu Button kontrola, eta ezarri horren OnSelect propietatea formula honetan.

    Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
    
  3. Hautatu botoia eta eduki sakatuta Alt tekla.

  4. Gehitu etiketa bat eta ezarri Testua propietatea aldagaian.

    ImageJSON
    
  5. Kontrolatu tamaina eta murriztu letra-tamaina behar den neurrian emaitza gehiena erakusteko.

    Etiketak erakusten du testu-katea JSON kapturatutako funtzioa.

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

Balioen taulak

Formula hau:

JSON( [1,2,3] )

testu-katea sortzen du [{"Balioa":1},{"Balioa":2}>,{"Balioa":3}].

Formula bera JSONFormat.FlattenValueTables aukerarekin:

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

testu-katea [1,2,3] sortzen du.

Kontuan izan FlattenValueTables aukerak ez duela eraginik JSON CityPopulations edo CitiesByCountry bildumekin erabiltzean, taula hauek ez baitira. Balioen taulak. Balioen taulak zutabe bakarra du eta "Balioa" izendatu behar du.