JSON funkcija

Attiecas uz: Pamatnes programmām Modeļa vadītas programmas

Ģenerē JSON teksta virkni tabulai, ierakstam vai vērtībai.

Apraksts

Funkcija JSON atgriež datu struktūras JavaScript objekta apzīmējuma (JSON) reprezentāciju kā tekstu, lai tas būtu piemērots glabāšanai vai pārsūtīšanai tīklā. ECMA-404 un IETF RFC 8259 apraksta formātu, ko plaši izmanto JavaScript un citas programmēšanas valodas.

Pamatnes programmas atbalsta datu veidus, kurus šī tabula uzskaita ar detalizētu informācija par to teksta attēlojumu:

Datu tips Apraksts Rezultātu piemērs
Būla vērtība Patiess vai Aplams true
Krāsa Virkne, kas satur astoņu ciparu heksadecimālu krāsas attēlojumu. Šis attēlojums izmanto formātu #rrggbbaa, kurā rr ir sarkanais komponents, gg ir zaļš, bb ir zils, bet aa ir alfa kanāls. Alfa kanālam 00 ir pilnībā caurspīdīgs, bet ff ir pilnīgi necaurredzams. Varat padot virkni uz funkciju ColorValue. "#102030ff"
Valūta Skaitlis, kas izmanto lietotāja valodai atbilstošu decimāldaļu atdalītāju. Vajadzības gadījumā tiek izmantots zinātnisks apzīmējums. 1.345
Datums Virkne, kurā iekļauts datums ISO 8601 formātā yyyy-mm-dd. "2019-03-31"
Datums un laiks Virkne, kas satur ISO 8601 datumu/laiku. Datuma/laika vērtības ir UTC sistēmā, kā to norāda beigas "Z". "2019-03-31T22:32:06.822Z"
GUID Virkne, kas satur GUID vērtību. Burti ir mazie burti. "751b58ac-380e-4a04-a925-9f375995cc40"
Attēls, multivide Ja ir norādīts JSONFormat.IncludeBinaryData , multivides faili tiek kodēti virknē. Tīmekļa atsauces, kuras izmanto http: vai https: URL shēmu netiek modificētas. Atsauces uz atmiņas binārajiem datiem tiek kodētas ar formātu "data:mimetype;base64,...". Atmiņas dati ietver attēlus, kurus lietotājs tver, izmantojot Kameras vadīklu un jebkuras citas atsauces ar URL shēmām appres: un blob:. "data:image/jpeg;base64,/9j/4AA..."
Skaitlis Skaitlis, kas izmanto lietotāja valodai atbilstošu decimāldaļu atdalītāju. Vajadzības gadījumā tiek izmantots zinātnisks apzīmējums. 1.345
Opciju kopa Skaitliska vērtība pēc izvēles, nevis etiķete, kas tiek izmantota parādīšanai. Tiek izmantota skaitliska vērtība, jo tā ir neatkarīga no valodas. 1001
Laiks Virkne, kura satur ISO 8601 formātu hh:mm:ss.fff. "23:12:49.000"
Ieraksts Komatatdalīts lauku un to vērtību saraksts starp { un }. Šis apzīmējums atgādina apzīmējumu ierakstiem pamatnes programmās, taču nosaukums vienmēr atrodas starp pēdiņām. Šis formāts neatbalsta ierakstus, kuru pamatā ir relācija daudzi pret vienu. { "First Name": "Fred", "Age": 21 }
Table Komatdalīts ierakstu saraksts starp [ un ]. Šis formāts neatbalsta tabulas, kuru pamatā ir relācija viens pret daudziem. [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ]
Divu opciju Divu opciju Būla vērtība true vai false, nevis etiķete, kas tiek izmantota rādīšanai. Tiek izmantota Būla vērtība, jo tā ir neatkarīga no valodas. false
Hipersaite, teksts Virkne starp dubultpēdiņām. Funkcija iziet no iegultajām dubultpēdiņām ar atpakaļvērsto slīpsvītru, aizstāj jaunās rindas ar "\n" un veic citus JavaScript standarta aizvietojumus. "This is a string."

Norādiet neobligāto Formāta argumentu, lai kontrolētu to, cik lasāms ir rezultāts un kā tiek apstrādāti neatbalstītie un binārie datu veidi. Izvade pēc noklusējuma ir maksimāli kompakta bez liekām atstarpēm vai jaunām rindām, un nav atļauti neatbalstīti datu veidi un binārie dati. Varat apvienot vairākus formātus, ja norādāt & operatoru.

JSONFormat uzskaitījums Apraksts
JSONFormat.Compact Noklusējuma. Izvade ir maksimāli kompakta bez pievienotām atstarpēm vai jaunām rindām.
JSONFormat.IndentFour Lai uzlabotu lasāmību, izvade satur jaunu rindu katrai kolonnai un ligzdošanas līmenim un izmanto četras atstarpes katram atkāpes līmenim.
JSONFormat.IncludeBinaryData Rezultāts ietver attēla, videoklipa un audioklipa kolonnas. Formāts var ievērojami palielināt rezultāta lielumu un samazināt programmas veiktspēju.
JSONFormat.IgnoreBinaryData Rezultāts neietver attēla, videoklipa vai audioklipa kolonnas. Ja nenorādāt ne JSONFormat.IncludeBinaryData, ne JSONFormat.IgnoreBinaryData , funkcija rada kļūdu, ja tā sastopas ar bināriem datiem.
JSONFormat.IgnoreUnsupportedTypes Ir atļauti neatbalstīti datu veidi, taču rezultāts tos neietvers. Neatbalstīti datu veidi pēc noklusējuma rada kļūdu.

Izmantojiet funkcijas ShowColumns un DropColumns, lai kontrolētu, kurus datus rezultāts iekļauj, un lai noņemtu neatbalstītos datu veidus.

Tā kā JSON var būt intensīvs gan attiecībā uz atmiņu, gan aprēķiniem, varat izmantot šo funkciju vienīgi uzvedības funkcijas. Varat tvert rezultātu no JSONmainīgajā, kuru varat pēc tam izmantot datu plūsmā.

Ja kolonnai ir gan rādāmais nosaukums, gan loģiskais nosaukums, rezultāts ietvers loģisko nosaukumu. Parādāmie nosaukumi atspoguļo programmas lietotāja valodu un tādējādi nav piemēroti datu pārnesei uz vispārējo servisu.

Sintakse

JSON( DataStructure [, Format ] )

  • DataStructure — Obligāti. Datu struktūra, ko pārvērst par JSON. Tabulas, ieraksti un primitīvas vērtības tiek atbalstītas, patvaļīgi ligzdotas.
  • Formāts — Neobligāti. JSONFormat uzskaitījuma vērtība. Noklusējuma vērtība ir JSONFormat.Compact, kas nepievieno jaunas rindiņas vai atstarpes un bloķē bināros datus un neatbalstītas kolonnas.

Piemēri

Hierarhiski dati

  1. Ievadiet vadīklu Button un iestatiet tās rekvizītu OnSelect uz šo formulu.

    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. Atlasiet pogu, turot nospiestu Alt taustiņu.

    Izmantojot šo datu struktūru, tiek izveidota kolekcija CitiesByCountry, kuru varat rādīt, izvēlnē Fails atlasot Kolekcijas un pēc tam atlasot kolekcijas nosaukumu.

    CitiesByCountry kolekcija.

    Šo kolekciju var arī parādīt, atlasot Iestatījumi>Gaidāmie līdzekļi>Iespējot formulas joslas rezultātu skatu, formulu joslā atlasot kolekcijas nosaukumu un pēc tam formulu joslā atlasot lejupvērsto bultiņu blakus kolekcijas nosaukumam.

    Kolekcija formulu joslas rezultātu skatā.

  3. Ievadiet citu pogu un iestatiet tās rekvizītu OnSelect uz šo formulu:

    Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
    

    Šī formula iestata globālo mainīgo CitiesByCountryJSON uz JSON attēlojumu mainīgajam CitiesByCountry.

  4. Atlasiet pogu, turot nospiestu Alt taustiņu.

  5. Ievadiet vadīklu Label un iestatiet tās rekvizītu Teksts uz šo mainīgo:

    CitiesByCountryJSON
    

    Etiķetē redzams šis rezultāts, viss vienā rindā bez atstarpēm un piemērots pārsūtīšanai pa tīklu:

    [
      {
        "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. Mainiet otrās pogas formulu, lai padarītu izvadi lasāmāku.

    Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))
    
  7. Atlasiet otro pogu, turot nospiestu Alt taustiņu.

    Etiķetē redzams lasāmāks rezultāts.

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

Attēli un multivide base64

  1. Pievienojiet Image vadīklu.

    Šī vadīkla nodrošina arī SampleImage.

  2. Pievienojiet vadīklu Button un iestatiet tās rekvizītu OnSelect uz šo formulu.

    Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
    
  3. Atlasiet pogu, turot nospiestu Alt taustiņu.

  4. Pievienojiet etiķeti un iestatiet tās Teksta rekvizītu uz šo mainīgo.

    ImageJSON
    
  5. Mainiet vadīklas izmēru un samaziniet fonta lielumu pēc vajadzības, lai rādītu lielāko daļu rezultāta.

    Etiķetē redzama teksta virkne, kuru tvēra JSON funkcija.

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