שתף דרך


JSON פונקציה

חל על: אפליקציות Canvas אפליקציות Copilot Studio מונחות מודלים אפליקציות Power Platform CLI Dataverse פונקציות Power Pages

יצירת מחרוזת JSON טקסט עבור טבלה, רשומה או ערך.

תיאור

הפונקציה JSON מחזירה את הייצוג של סמל אובייקט JavaScript (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 yyyy-mm-dd. "2019-03-31"
DateTime מחרוזת הכוללת תאריך ושעה בתקן 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 }
לוּחַ רשימה מופרדת באמצעות פסיקים, בין [ ל- ], של רשומות. תבנית זו אינה תומכת בטבלאות המבוססות על קשרי גומלין מסוג אחד לרבים. השתמש באפשרות 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 כטבלת ערכים, [1,2,3] סימון מביא לטבלה המכילה רשומות שבהן לכל רשומה יש עמודת ערך יחידה. ב JSON- , אותו סימן מייצג מערך של שלושה מספרים. כדי להפוך את יכולת הפעולה הדדית בין שתי הרשומות לקלה יותר, אפשרות זו מ השטחת טבלת Power Fx Value JSON למערך ידידותי במקום למערך של רשומות.
JSONFormat.IndentFour כדי לשפר את הקריאות, הפלט מכיל שורה חדשה עבור כל עמודה ורמת קינון ומשתמש בארבעה רווחים עבור כל רמת הזחה.
JSONFormat.IncludeBinaryData התוצאה כוללת עמודות תמונה, וידאו וקטע שמע. תבנית זו עשויה להגדיל באופן דרמטי את גודל התוצאה ולפגוע בביצועי היישום שלך.
JSONFormat.IgnoreBinaryData התוצאה אינה כוללת עמודות תמונה, וידאו או קטע שמע. אם לא צויין JSONFormat.IncludeBinaryData או SONFormat.IgnoreBinaryData, הפונקציה תייצר שגיאה אם תיתקל בנתונים בינאריים.
JSONFormat.IgnoreUnsupportedTypes סוגי נתונים לא נתמכים מורשים לשימוש, אבל התוצאה לא תכלול אותם. כברירת מחדל, סוגי נתונים לא נתמכים מייצרים שגיאה.

השתמש בפונקציות ShowColumns ו- DropColumns כדי לשלוט בנתונים שהתוצאה כוללת וכדי להסיר סוגי נתונים לא נתמכים.

מכיוון JSON שניתן להשתמש הן בזיכרון והן ב- compute intensive, ניתן להשתמש בפונקציה זו רק בפונקציות אופן פעולה. באפשרותך ללכוד את התוצאה מתוך JSON לתוך משתנה, שבו תוכל להשתמש לאחר מכן בזרימת נתונים.

אם לעמודה יש גם שם תצוגה וגם שם לוגי, התוצאה מכילה את השם הלוגי. שמות תצוגה משקפים את שפת היישום המשתמש ולפיכך הם אינם מתאימים להעברת נתונים אל שירות משותף.

תחביר

JSON( DataStructure [, Format ] )

  • DataStructure – חובה. מבנה הנתונים להמרה ל- JSON. טבלאות, רשומות וערכים פרימיטיביים נתמכים, ומקוננים באופן שרירותי.
  • פורמט - אופציונלי. JSONFormat ערך enum. ערך ברירת המחדל הוא JSONFormat.Compact, אשר אינו מוסיף שורות חדשות או רווחים וחוסם נתונים ועמודות בלתי נתמכות.

דוגמאות

נתונים הירארכיים

  1. הוסף פקד 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" ) )
    
  2. בחר את הלחצן תוך כדי לחיצה על המקש Alt.

    האוסף ערים לפי מדינה נוצר עם מבנה נתונים זה, אשר ניתן להציג על-ידי בחירה באפשרות אוספים בתפריט קובץ ולאחר מכן בחירת שם האוסף.

    אוסף 'ערים לפי מדינה'.

    תוכל גם להציג את האוסף הזה על-ידי בחירה באפשרויות הגדרות>תכונות עתידיות>אפשר תצוגת תוצאות של שורת הנוסחאות, בחירת שם האוסף בשורת הנוסחאות ולאחר מכן בחירה בחץ למטה לצד שם האוסף מתחת לשורת הנוסחאות.

    אוסף בתצוגת התוצאות של שורת הנוסחאות.

  3. הוסף לחצן נוסף, והגדר את מאפיין OnSelect שלו לנוסחה זו:

    Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )
    

    נוסחה זו מגדירה את המשתנה הכללי CitiesByCountryJSON לייצוג JSONעבור CitiesByCountry.

  4. בחר את הלחצן תוך כדי לחיצה על המקש Alt.

  5. הוסף פקד 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"
      }
    ]
    
  6. שנה את הנוסחה של הלחצן השני כדי להפוך את הפלט לקריא יותר.

    Set( CitiesByCountryJSON, JSON(CitiesByCountry, JSONFormat.IndentFour ))
    
  7. בחר בלחצן השני תוך כדי לחיצה על מקש 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

  1. הוסף פקד Image‎.

    לפקד זה מצורפת תמונה לדוגמה.

  2. הוסף פקד Button‎ והגדר את מאפיין OnSelect שלו לנוסחה זו.

    Set( ImageJSON, JSON( SampleImage, JSONFormat.IncludeBinaryData ) )
    
  3. בחר את הלחצן תוך כדי לחיצה על המקש Alt.

  4. הוסף תווית והגדר את מאפיין Text‎ שלה למשתנה זה.

    ImageJSON
    
  5. שנה את גודל הפקד וצמצם את גודל הגופן לפי הצורך כדי להציג את רוב התוצאה.

    התווית מציגה את מחרוזת הטקסט שהפונקציה נלכדה 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 , כי טבלאות אלה אינן טבלאות ערכים. לטבלת ערך יש עמודה אחת והיא חייבת לקבל את השם "ערך".