הפונקציה JSON
חל על: יישומי בד ציור
יישומים מונחי-דגמים
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 או false. | true |
צבע | מחרוזת המכילה את הייצוג ההקסדצימאלי בן 8 הספרות עבור הצבע. ייצוג זה הוא במבנה #rrggbbaa, ככאשר rr הוא הרכיב האדום, gg הוא ירוק, bb הוא כחול ו- aa הוא ערוץ האלפא. עבור ערוץ האלפא, 00 הוא שקוף לחלוטין, ו- ff אטום לחלוטין. באפשרותך להעביר את המחרוזת אל הפונקציה ColorValue. | "#102030ff" |
מטבע | מספר המשתמש במפריד העשרוני המתאים עבור שפת המשתמש. סימון מדעי משמש במידת הצורך. | 1.345 |
תאריך | מחרוזת המכילה את התאריך בתבנית ISO 8601 yyyy-mm-dd. | "2019-03-31" |
תאריך ושעה | מחרוזת הכוללת תאריך ושעה בתקן ISO 8601. ערכי תאריך/שעה הם ב- UTC, כפי שמעידה הסיומת של "Z". | "2019-03-31T22:32:06.822Z" |
GUID | מחרוזת המכילה את ערך ה- GUID. האותיות הן קטנות. | "751b58ac-380e-4a04-a925-9f375995cc40" |
תמונה, מדיה | אם מצוין JSONFormat.IncludeBinaryData, קבצי מדיה מקודדים במחרוזת. הפניות לאינטרנט שמשתמשות בערכות כתובות ה- URL http: או https: אינן משתנות. הפניות לנתונים בינאריים בזיכרון מקודדים עם התבנית "data:mimetype;base64,...". נתונים בזיכרון כוללים תמונות שמשתמשים לוכדים באמצעות הפקד Camera וכל הפניה אחרת עם ערכות כתובות ה- URL appres: ו- blob:. | "data:image/jpeg;base64,/9j/4AA..." |
מספר | מספר המשתמש במפריד העשרוני המתאים עבור שפת המשתמש. סימון מדעי משמש במידת הצורך. | 1.345 |
קבוצת אפשרויות | הערך המספרי של הבחירה, ולא התווית המשמשת לתצוגה. הערך המספרי משמש משום שהוא בלתי תלוי בשפה. | 1001 |
זמן | מחרוזת המכילה תבנית ISO 8601 hh:mm:ss.fff. | "23:12:49.000" |
רשומה | רשימה המופרדת באמצעות פסיקים, בין { ל- }, של שדות וערכיהם. סימון זה דומה לסימון עבור רשומות ביישומי בד ציור, אבל השם נמצא תמיד בין סימני מרכאות כפולות. תבנית זו אינה תומכת ברשומות המבוססות על קשרי גומלין מסוג רבים לאחד. | { "First Name": "Fred", "Age": 21 } |
Table | רשימה מופרדת באמצעות פסיקים, בין [ ל- ], של רשומות. תבנית זו אינה תומכת בטבלאות המבוססות על קשרי גומלין מסוג אחד לרבים. השתמש באפשרות JSONFormat.FlattenValueTables כדי להסיר את הרשומה עבור טבלאות של עמודה בודדת שבהן שם העמודה הוא ערך. | [ { "First Name": "Fred", "Age": 21 }, { "First Name": "Jean", "Age": 20 } ] |
שתי אפשרויות | ערך בוליאני של שתי האפשרויות, true או false, ולא התווית המשמשת עבור תצוגה. הערך הבוליאני משמש משום שהוא בלתי תלוי בשפה. | false |
היפר-קישור, טקסט | מחרוזת בין מרכאות כפולות. הפונקציה מבטלת סימני מרכאות כפולות מוטבעים בעזרת קו נטוי הפוך, מחליפה קווים חדשים ב- "\n", ומבצעת החלפות סטנדרטיות אחרות של JavaScript. | "This is a string." |
ציין את ארגומנט תבנית האופציונלי כדי לשלוט במידת הקריאות של התוצאה ובאופן הטיפול בסוגי נתונים לא נתמכים ובינאריים. כברירת מחדל, הפלט הוא קומפקטי ככל שניתן וללא רווחים או שורות חדשות שאינם הכרחיים, וסוגי נתונים לא נתמכים ונתונים בינאריים אינם מורשים לשימוש. באפשרותך לשלב תבניות מרובות אם תציין את האופרטור &.
ספירת JSONFormat | Description |
---|---|
JSONFormat.Compact | ברירת מחדל. הפלט הוא קומפקטי ככל שניתן ללא תוספת רווחים או שורות חדשות. |
JSONFormat.FlattenValueTables | כטבלת ערכים, [1,2,3] סימון מביא לטבלה המכילה רשומות שבהן לכל רשומה יש עמודת ערך יחידה. ב- JSON, אותו סימון מייצג מערך של שלושה מספרים. כדי להקל על יכולת פעולה הדדית בין השניים, אפשרות זו משטחת טבלת ערכים של Power Fx למערך ידידותי ל- JSON במקום למערך של רשומות. |
JSONFormat.IndentFour | כדי לשפר את הקריאות, הפלט מכיל שורה חדשה עבור כל עמודה ורמת קינון ומשתמש בארבעה רווחים עבור כל רמת הזחה. |
JSONFormat.IncludeBinaryData | התוצאה כוללת עמודות תמונה, וידאו וקטע שמע. תבנית זו עשויה להגדיל באופן דרמטי את גודל התוצאה ולפגוע בביצועי היישום שלך. |
JSONFormat.IgnoreBinaryData | התוצאה אינה כוללת עמודות תמונה, וידאו או קטע שמע. אם לא צויין JSONFormat.IncludeBinaryData או SONFormat.IgnoreBinaryData, הפונקציה תייצר שגיאה אם תיתקל בנתונים בינאריים. |
JSONFormat.IgnoreUnsupportedTypes | סוגי נתונים לא נתמכים מורשים לשימוש, אבל התוצאה לא תכלול אותם. כברירת מחדל, סוגי נתונים לא נתמכים מייצרים שגיאה. |
השתמש בפונקציות ShowColumns ו- DropColumns כדי לשלוט בנתונים שהתוצאה כוללת וכדי להסיר סוגי נתונים לא נתמכים.
משום ש- JSON עשויה להיות הן אינטנסיבית מבחינת זיכרון והן אינטנסיבית מבחינת מיחשוב, באפשרותך להשתמש בפונקציה זו רק בפונקציות של אופן פעולה. באפשרותך ללכוד את התוצאה מ- JSON אח משתנה, אשר באפשרותך להשתמש בו לאחר מכן בזרימת נתונים.
אם לעמודה יש גם שם תצוגה וגם שם לוגי, התוצאה מכילה את השם הלוגי. שמות תצוגה משקפים את שפת היישום המשתמש ולפיכך הם אינם מתאימים להעברת נתונים אל שירות משותף.
תחביר
JSON( DataStructure [, Format ] )
- DataStructure – נדרש. מבנה הנתונים להמרה ל- JSON. טבלאות, רשומות וערכים פרימיטיביים נתמכים, ומקוננים באופן שרירותי.
- Format - אופציונלי. ערך ספירת JSONFormat. ערך ברירת המחדל הוא JSONFormat.Compact, אשר אינו מוסיף שורות חדשות או רווחים וחוסם נתונים ועמודות בלתי נתמכות.
דוגמאות
נתונים הירארכיים
הוסף פקד Button והגדר את מאפיין 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.
האוסף ערים לפי מדינה נוצר עם מבנה נתונים זה, אשר ניתן להציג על-ידי בחירה באפשרות אוספים בתפריט קובץ ולאחר מכן בחירת שם האוסף.
תוכל גם להציג את האוסף הזה על-ידי בחירה באפשרויות הגדרות>תכונות עתידיות>אפשר תצוגת תוצאות של שורת הנוסחאות, בחירת שם האוסף בשורת הנוסחאות ולאחר מכן בחירה בחץ למטה לצד שם האוסף מתחת לשורת הנוסחאות.
הוסף לחצן נוסף, והגדר את מאפיין OnSelect שלו לנוסחה זו:
Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
נוסחה זו מגדירה את המשתנה הכללי CitiesByCountryJSON לייצוג ה- JSON עבור CitiesByCountry.
בחר את הלחצן תוך כדי לחיצה על המקש Alt.
הוסף פקד Label והגדר את מאפיין Text שלו למשתנה זה.
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.
לפקד זה מצורפת תמונה לדוגמה.
הוסף פקד Button והגדר את מאפיין OnSelect שלו לנוסחה זו.
Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
בחר את הלחצן תוך כדי לחיצה על המקש Alt.
הוסף תווית והגדר את מאפיין Text שלה למשתנה זה.
ImageJSON
שנה את גודל הפקד וצמצם את גודל הגופן לפי הצורך כדי להציג את רוב התוצאה.
התווית מציגה את מחרוזת הטקסט שהפונקציה JSON לכדה.
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIg0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQSIgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"
טבלאות ערכים
נוסחה זו:
JSON( [1,2,3] )
מייצרת את מחרוזת הטקסט [{"Value":1},{"Value":2},{"ערך":3}].
אותה נוסחה עם אפשרות JSONFormat.FlattenValueTables:
JSON( [1,2,3], JSONFormat.FlattenValueTables )
מייצרת את מחרוזת הטקסט [1,2,3].
יש לשים לב שלאפשרות FlattenValueTables אין השפעה בעת שימוש ב- JSON עם האוספים CityPopulations או CitiesByCountry מכיוון שטבלאות אלו אינן טבלאות ערך. לטבלת ערך יש עמודה אחת והיא חייבת לקבל את השם "ערך".
משוב
https://aka.ms/ContentUserFeedback.
בקרוב: במהלך 2024, נפתור בעיות GitHub כמנגנון המשוב לתוכן ונחליף אותו במערכת משוב חדשה. לקבלת מידע נוסף, ראה:שלח והצג משוב עבור