JSON функциясы
Қолданылады: Canvas қолданбалары Үлгіге негізделген қолданбалар Power Pages
Кесте, жазба немесе мән үшін JSON мәтін жолын жасайды.
Сипаттама
JSON функциясы деректер құрылымының JavaScript Object Notation (JSON) көрінісін мәтін түрінде қайтарады, осылайша ол желі арқылы сақтауға және тасымалдауға қолайлы болады. [ECMA-404](https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf және IETF RFC 8259 JavaScript және басқа бағдарламалау тілдерінде кеңінен қолданылатын пішімді сипаттайды.
Кенеп бағдарламалары осы кестеде мәтіндік көрінісі туралы мәліметтерімен бірге тізілген деректер түрлерін қолдайды:
Деректер түрі | Сипаттама | Нәтиже мысалы |
---|---|---|
Логикалық | шын немесе жалған. | true |
Түс | Түстің 8 цифрлық он алтылық көрінісін қамтитын жол. Бұл көрініс #rrggbbaa пішімін қабылдайды, мұндағы rr — қызыл құрамдас, gg — жасыл, bb — көк және aa — альфа арна. Альфа арнасы үшін 00 — толығымен мөлдір және ff — толығымен бұлыңғыр. Жолды ColorValue функциясына өткізуге болады. | "#102030ff" |
Валюта | Пайдаланушының тілі үшін тиісті ондық бөлгішті пайдаланатын сан. Қажет болса, ғылыми нотация пайдаланылады. | 1.345 |
Күн | ISO 8601 жжжж-аа-кк пішіміндегі күнді қамтитын жол. | "2019-03-31" |
DateTime | ISO 8601 күнін/уақытын қамтитын жол. "Z" жалғауы көрсететіндей, күн/уақыт мәндері UTC пішімінде. | "2019-03-31T22:32:06.822Z" |
GUID | GUID мәнін қамтитын жол. Әріптер төменгі регистрмен жазылған. | "751b58ac-380e-4a04-a925-9f375995cc40" |
Сурет, БАҚ | Егер JSONFormat.IncludeBinaryData көрсетілсе, медиа файлдар жолда кодталады. http: немесе https: URL схемасын пайдаланатын веб-сілтемелер өзгертілмейді. Жадтағы екілік деректерге сілтемелер "data:mimetype;base64,..." пішімінде кодталады. Жадтағы деректер пайдаланушылар Камера басқару элементін пайдалана отырып түсіретін кескіндерді әрі appres: және blob: URL схемалары бар кез келген басқа сілтемелерді қамтиды. | "data:image/jpeg;base64,/9j/4AA..." |
Сан | Пайдаланушының тілі үшін тиісті ондық бөлгішті пайдаланатын сан. Қажет болса, ғылыми нотация пайдаланылады. | 1.345 |
параметрлер жиыны | Көрсету үшін пайдаланылатын белгі емес, таңдаудың сандық мәні. Сандық мән пайдаланылады, өйткені оның тілі тәуелсіз. | 1001 |
Уақыт | ISO 8601 сс:мм:сс.fff пішімін қамтитын жол. | "23:12:49.000" |
Жазба | { және } арасындағы, өрістердің және олардың мәндерінің үтірлермен бөлінген тізімі. Бұл нотация кенеп бағдарламаларындағы жазбалардыкіне ұқсайды, бірақ атау әрқашан қос тырнақшада болады. Бұл пішім көп-біреуге қатынастарына негізделген жазбаларды қолдамайды. | { "First Name": "Fred", "Age": 21 } |
Кесте | [ және ] арасындағы жазбалардың үтірлермен бөлінген тізімі. Бұл пішім бір-көпке қатынастарына негізделген кестелерді қолдамайды. JSONFormat.FlattenValueTables параметрін Мән деп аталатын бағаналы жалғыз баған кестелеріне арналған жазбаны жою үшін пайдаланыңыз. | [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ] |
Екі нұсқа | Екі опцияның логикалық мәні, true немесе false, көрсету үшін пайдаланылатын белгі емес. Логикалық мән пайдаланылады, өйткені оның тілі тәуелсіз. | false |
Гиперсілтеме, мәтін | Қос тырнақшада арасындағы жол. Бұл функция ендірілген қос тырнақшаларға кері қиғаш сызықты қосады, жаңа жолдарды "\n" таңбасымна ауыстырады және басқа стандартты JavaScript ауыстыруларын орындайды. | "This is a string." |
Нәтиже қаншалықты оқуға келетінін әрі қолдау көрсетілмейтін және екілік деректер түрлері қалай өңделетінін басқару үшін Пішім деген міндетті емес аргументті көрсетіңіз. Әдепкі бойынша, нәтиже мүмкіндігінше шағын болады, қажет емес бос орындар немесе жаңа жолдар болмайды әрі қолдау көрсетілмейтін деректер түрлеріне және екілік деректерге рұқсат етілмейді. & операторын көрсетсеңіз, бірнеше пішімдерді біріктіруге болады.
JSONFormat санамалауы | Сипаттама |
---|---|
JSONFormat.Compact | Әдепкі. Нәтиже мүмкіндігінше шағын болады, бос орындар немесе жаңа жолдар қосылмайды. |
JSONFormat.FlattenValueTables | a Мәндер кестесі ретінде, [1,2,3] белгілері әрбір жазбаның жалғыз Мәні болатын жазбаларды қамтитын кестені береді. баған. JSON жүйесінде сол белгілеу үш саннан тұратын массивті білдіреді. Екеуінің өзара әрекеттесуін жеңілдету үшін бұл опция a Power Fx Мәндер кестесін жазбалар жиымының орнына JSON қолайлы массивке теңестіреді. |
JSONFormat.IndentFour | Оқу мүмкіндігін жақсарту үшін нәтиже әр баған үшін жаңа жолды және кірістіру деңгейін қамтиды әрі әр шегініс деңгейі үшін төрт бос орынды пайдаланады. |
JSONFormat.IncludeBinaryData | Нәтиже кескінді, бейнені және аудиоклип бағандарын қамтиды. Бұл пішім нәтиженің өлшемін айтарлықтай арттыруы және бағдарлама өнімділігін нашарлатуы мүмкін. |
JSONFormat.IgnoreBinaryData | Нәтиже кескінді, бейнені немесе аудиоклип бағандарын қамтымайды. Егер JSONFormat.IncludeBinaryData не JSONFormat.IgnoreBinaryData параметрін көрсетсеңіз, функция екілік деректерге тап болған жағдайда қате шығарады. . |
JSONFormat.IgnoreUnsupportedTypes | Қолдау көрсетілмейтін деректер түрлеріне рұқсат етілген, бірақ нәтиже оларды қамтымайды. Әдепкі бойынша, қолдау көрсетілмейтін деректер түрлері қатені береді. |
Нәтиже қай деректерді қамтитынын және қолдау көрсетілмейтін деректер түрлерін басқару үшін ShowColumns және DropColumns функцияларын пайдаланыңыз.
JSON жадты да, процессорды қарқынды пайдалнауы мүмкін болғандықтан, бұл функцияны тек мінез-құлық функцияларында пайдалануға болады. JSON нәтижесін айнымалыға жазуға, содан кейін бұл айнымалыны деректер ағынында пайдалануға болады.
Бағанның көрсетілетін атауы да, логикалық атауы да болса, нәтиже логикалық мәнді қамтиды. Көрсетілетін атаулар бағдарлама пайдаланушысының тілін көрсетеді, сондықтан жалпы қызметке деректерді тасымалдауға жарамайды.
Синтаксис
JSON( Деректер құрылымы [, Формат ] )
- Деректер құрылымы – Міндетті. JSON пішіміне түрлендіретін деректер құрылымы. Кездейсоқ ретпен кірістірілген кестелерге, жазбаларға және қарапайым мәндерге қолдау көрсетіледі.
- Пішім - Қосымша. JSONFormat enum мәні. Әдепкі мән JSONFormat.Compact болып табылады, ол жаңа жолдарды немесе бос орындарды қоспайды және екілік деректер мен қолдау көрсетілмейтін бағандарды блоктайды.
Мысалдар
Иерархиялық деректер
Түймешік басқару элементін кірістіріңіз және оның OnSelect сипатын мына формулаға орнатыңыз.
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" ) )
Alt пернесін басып тұрып, түймешікті таңдаңыз.
Осы деректер құрылымы арқылы CitiesByCountry жинағы жасалады, бұл жинақты Файл мәзірінде Жинақтар тармағын таңдау, содан кейін жинақ атауын таңдау арқылы көрсетуге болады.
Сонымен қатар бұл жинақты Параметрлер>Алдағы мүмкіндіктер>Формула жолағының нәтижесін көруді қосу тармағын таңдау арқылы, формула жолағынан жинақ атауын таңдау арқылы және содан кейін формула жолағындағы жинақ атауының жанынан төмен көрсеткіні таңдау арқылы көрсетуге болады.
Тағы бір түймешікті кірістіріп, оның OnSelect сипатын мына формулаға орнатыңыз:
Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
Бұл формула CitiesByCountryJSON глобалдық айнымалысын CitiesByCountry үшін JSON көрінісіне орнатады.
Alt пернесін басып тұрып, түймешікті таңдаңыз.
Белгі басқару элементін кірістіріңіз және оның Мәтін сипатын осы айнымалыға орнатыңыз.
CitiesByCountryJSON
Белгі бос орындарсыз толығымен бір жолда орналасқан, желі арқылы тасымалдауға болатын осы нәтижені көрсетеді:
[ { "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" } ]
Нәтижені оқу мүмкіндігін арттыру үшін екінші түймешіктің формуласын өзгертіңіз.
Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))
Alt пернесін басып тұрып, екінші түймешікті таңдаңыз.
Белгі оқу мүмкіндігі көбірек нәтижені көрсетеді.
[ { "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" } ]
base64 пішіміндегі кескіндер және медиа
Image басқару элементін қосыңыз.
Бұл басқару элементінде SampleImage болады.
Button басқару элементін қосыңыз және оның OnSelect сипатын осы формулаға орнатыңыз.
Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
Alt пернесін басып тұрып, түймешікті таңдаңыз.
Белгі қосыңыз және оның Мәтін сипатын осы айнымалыға орнатыңыз.
ImageJSON
Нәтиженің көп бөлігін көрсету үшін қажет болса, басқару элементінің өлшемін өзгертіңіз және қаріп өлшемін азайтыңыз.
Бұл белгі JSON функциясы жазған мәтін жолын көрсетеді.
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQSIgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"
Мән кестелері
Бұл формула:
JSON( [1,2,3] )
мәтін жолын жасайды [{"Мән":1},{"Мән":2},{"Мән":3}].
JSONFormat.FlattenValueTables опциясымен бірдей формула:
JSON( [1,2,3], JSONFormat.FlattenValueTables )
[1,2,3] мәтін жолын жасайды.
CityPopulations немесе CitiesByCountry жинақтарымен JSON пайдалану кезінде FlattenValueTables опциясы әсер етпейтінін ескеріңіз, себебі бұл кестелер емес Мән кестелері. Мәндер кестесінің бір бағанасы бар және оның атауы «Мән» болуы керек.