Σημείωση
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να συνδεθείτε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτή τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Ισχύει για: Εφαρμογές
καμβά Copilot Studio Εφαρμογές
βάσει μοντέλου Power Platform Συναρτήσεις του 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 εεεε-μμ-ηη. | "2019-03-31" |
| ΗμερομηνίαΏρα | Συμβολοσειρά που περιέχει μια ημερομηνία/ώρα ISO 8601. Οι τιμές "ημερομηνία/ώρα" είναι σε UTC, όπως υποδηλώνει το τέλος "Z". | "2019-03-31T22:32:06.822Z" |
| GUID | Συμβολοσειρά που περιέχει την τιμή GUID. Τα γράμματα είναι πεζά. | "751b58ac-380e-4a04-a925-9f375995cc40" |
| Εικόνα, Πολυμέσα | Εάν καθορίζεται JSONFormat.IncludeBinaryData, τα αρχεία πολυμέσων είναι κωδικοποιημένα σε μια συμβολοσειρά. Οι αναφορές Web που χρησιμοποιούν το σχήμα διεύθυνσης 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 σε έναν JSON φιλικό πίνακα αντί για έναν πίνακα εγγραφών. |
| JSONFormat.IndentFour | Για τη βελτίωση της αναγνωσιμότητας, η έξοδος περιέχει μια νέα γραμμή για κάθε στήλη και ένα επίπεδο ένθεσης και χρησιμοποιεί τέσσερα διαστήματα για κάθε επίπεδο εσοχής. |
| JSONFormat.IncludeBinaryData | Το αποτέλεσμα περιλαμβάνει στήλες εικόνων, βίντεο και απόσπασμα ήχου. Αυτή η μορφή μπορεί να αυξήσει εντυπωσιακά το μέγεθος του αποτελέσματος και να υποβαθμίσει την απόδοση της εφαρμογής σας. |
| JSONFormat.IgnoreBinaryData | Το αποτέλεσμα δεν περιλαμβάνει στήλες εικόνων, βίντεο ή αποσπάσματος ήχου. Εάν δεν καθορίσετε ούτε JSONFormat.IncludeBinaryData ούτε JSONFormat.IgnoreBinaryData, η συνάρτηση δημιουργεί σφάλμα εάν συναντήσει δυαδικά δεδομένα. |
| JSONFormat.IgnoreUnsupportedTypes | Επιτρέπονται τύποι δεδομένων που δεν υποστηρίζονται, αλλά το αποτέλεσμα δεν θα τις συμπεριλάβει. Από προεπιλογή, οι μη υποστηριζόμενοι τύποι δεδομένων παράγουν σφάλμα. |
Χρησιμοποιήστε τις συναρτήσεις ShowColumns και DropColumns για να ελέγξετε τα δεδομένα που περιλαμβάνει το αποτέλεσμα και για να καταργήσετε μη υποστηριζόμενους τύπους δεδομένων.
Επειδή JSON μπορεί να κάνει εντατική χρήση μνήμης και υπολογιστικής λειτουργίας, μπορείτε να χρησιμοποιήσετε αυτή τη συνάρτηση μόνο σε συναρτήσεις συμπεριφοράς. Μπορείτε να καταγράψετε το αποτέλεσμα από JSON μια μεταβλητή, την οποία μπορείτε έπειτα να χρησιμοποιήσετε στη ροή δεδομένων.
Εάν μια στήλη έχει τόσο εμφανιζόμενο όνομα όσο και ένα λογικό όνομα, το αποτέλεσμα περιέχει το λογικό όνομα. Τα εμφανιζόμενα ονόματα απεικονίζουν τη γλώσσα του χρήστη της εφαρμογής και επομένως δεν είναι κατάλληλα για τη μεταφορά δεδομένων σε μια κοινή υπηρεσία.
Σύνταξη
JSON( DataStructure [, Format ] )
- DataStructure – Απαιτείται. Η δομή δεδομένων για μετατροπή σε JSON. Οι πίνακες, οι καρτέλες και οι πρωτόγονες τιμές υποστηρίζονται, αυθαίρετα ένθετες.
- Μορφή - Προαιρετικό. 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.
Η συλλογή CitiesByCountry δημιουργείται με αυτήν τη δομή δεδομένων, την οποία μπορείτε να εμφανίσετε επιλέγοντας Συλλογές στο μενού Αρχείο και, στη συνέχεια, επιλέγοντας το όνομα της συλλογής.
Μπορείτε επίσης να εμφανίσετε αυτήν τη συλλογή επιλέγοντας Ρυθμίσεις>Επερχόμενες δυνατότητες>Ενεργοποιήστε την προβολή αποτελέσματος γραμμής τύπων, επιλέγοντας το όνομα της συλλογής στη γραμμή τύπων και, στη συνέχεια, επιλέγοντας το κάτω βέλος δίπλα στο όνομα της συλλογής κάτω από τη γραμμή τύπων.
Εισαγάγετε ένα άλλο κουμπί και ορίστε την ιδιότητά του OnSelect σε αυτόν τον τύπο:
Set( CitiesByCountryJSON, JSON( CitiesByCountry ) )Αυτός ο τύπος ορίζει την καθολική μεταβλητή CitiesByCountryJSON στην αναπαράσταση για το JSONCitiesByCountry.
Επιλέξτε το κουμπί ενώ κρατάτε πατημένο το πλήκτρο 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.
Αυτό το στοιχείο ελέγχου συνοδεύεται από το SampleImage.
Προσθέστε ένα στοιχείο ελέγχου 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},{"Value":3}].
Ο ίδιος τύπος με την επιλογή JSONFormat.FlattenValueTables:
JSON( [1,2,3], JSONFormat.FlattenValueTables )
παράγει τη συμβολοσειρά κειμένου [1,2,3].
Σημειώστε ότι η επιλογή FlattenValueTables δεν έχει καμία επίδραση κατά τη χρήση JSON με τις συλλογές CityPopulations ή CitiesByCountry , καθώς αυτοί οι πίνακες δεν είναι πίνακες Value. Ένας πίνακας τιμών έχει μία μόνο στήλη και πρέπει να έχει το όνομα "Τιμή".