नोट
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप साइन इन करने या निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पेज तक पहुँच के लिए प्रमाणन की आवश्यकता होती है. आप निर्देशिकाओं को बदलने का प्रयास कर सकते हैं.
इस पर लागू होता है: कैनवास ऐप्स
मॉडल-संचालित ऐप्स
Power Pages
Power Platform CLI
JSON स्ट्रिंग की व्याख्या करता है और एक अलिखित ऑब्जेक्ट या टाइप किया गया ऑब्जेक्ट लौटाता है।
महत्त्वपूर्ण
- टाइप किए गए ऑब्जेक्ट में कनवर्ट करने के लिए ParseJSON के दूसरे तर्क का उपयोग करना एक प्रयोगात्मक सुविधा है।
- प्रायोगिक विशेषताएं उत्पादन उपयोग के लिए नहीं हैं और कार्यक्षमता प्रतिबंधित हो सकती हैं. ये सुविधाएँ आधिकारिक रिलीज़ से पहले उपलब्ध होती हैं ताकि आप शीघ्र पहुँच प्राप्त कर सकें और प्रतिक्रिया दे सकें। अधिक जानकारी: कैनवास ऐप में प्रयोगात्मक, पूर्वावलोकन और रिटायर्ड फ़ीचर्स समझें
- यह आलेख जिस व्यवहार का वर्णन करता है वह केवल तभी उपलब्ध होता है जब उपयोगकर्ता-परिभाषित प्रकारसेटिंग्स > आगामी सुविधाएँ > प्रायोगिक में प्रायोगिक सुविधा चालू होती है (यह डिफ़ॉल्ट रूप से बंद होती है)।
- आपकी प्रतिक्रिया हमारे लिए बहुत मूल्यवान है। कृपया हमें प्रयोगात्मक सुविधाओं के सामुदायिक मंच पर बताएं कि आप क्या सोचते हैं। Power Apps
विवरण
ParseJSON फ़ंक्शन एक मान्य JSON स्ट्रिंग को पार्स करता है और JSON संरचना का प्रतिनिधित्व करने वाला एक अलिखित ऑब्जेक्ट लौटाता है।
वैकल्पिक रूप से, JSON को टाइप किए गए ऑब्जेक्ट में परिवर्तित करने के लिए दूसरे तर्क का उपयोग करें जिसे सीधे सूत्रों में उपयोग किया जा सकता है। Power Fx इससे परिणाम को प्राप्त करना आसान हो जाता है, क्योंकि उपयोग के स्थान पर रूपांतरण और दबाव की आवश्यकता नहीं रह जाती। अप्रकारित JSON को इन नियमों के साथ प्रकार से मैप किया जाता है:
- प्रकार के जो कॉलम JSON में मौजूद नहीं हैं, उन्हें रिक्त से भर दिया जाता है।
- JSON में जो कॉलम प्रकार में मौजूद नहीं हैं उन्हें अनदेखा कर दिया जाता है।
- जो कॉलम प्रकार और JSON दोनों में हैं, JSON मान प्रकार के लिए बाध्यकारी होना चाहिए।
यदि पाठ ECMA-404 और IETF RFC 8259 में वर्णित जावास्क्रिप्ट ऑब्जेक्ट नोटेशन (JSON) प्रारूप के अनुसार वैध JSON नहीं है, तो ParseJSON फ़ंक्शन त्रुटियाँ लौटा सकता है।...
सिंटैक्स
पार्सJSON( JSONString [, टाइप ] )
- JSONString – आवश्यक. JSON संरचना पाठ के रूप में प्रस्तुत की गई.
- प्रकार - वैकल्पिक. JSON संरचना के लिए Power Fx प्रकार परिभाषा. इस तर्क के बिना, ParseJSON एक अप्रकारित ऑब्जेक्ट लौटाता है; इसके साथ और फ़ंक्शन एक दृढ़तापूर्वक टाइप किया गया ऑब्जेक्ट लौटाता है।
अनटाइप्ड ऑब्जेक्ट डेटा प्रकार को रूपांतरित करना
दूसरे तर्क के बिना, ParseJSON एक अलिखित ऑब्जेक्ट लौटाता है, जिसके लिए समर्थित डेटा प्रकारों में फ़ील्ड मानों के स्पष्ट रूपांतरण की आवश्यकता होती है। निम्न तालिका Power Apps में डेटा प्रकार और संबंधित JSON डेटा प्रकार और इसे कैसे परिवर्तित करना है, इसे सूचीबद्ध हैं.
डेटा प्रकार | JSON के उदाहरण | विवरण | उदाहरण रूपांतरण |
---|---|---|---|
Boolean | { "bool": true } |
बूलियन JSON में एक स्पष्ट प्रकार है और इसे सीधे रूपांतरित किया जा सकता है. | बूलियन( ParseJSON("{ ""bool"": true }").bool ) |
रंग | { "color": "#102030" } { "r": 255, "g": 128, "b": 0, "a": 0.5 } |
JSON में कोई रंग प्रकार नहीं है. रंग मान RGBA पूर्णांकों या हेक्साडेसिमल स्ट्रिंग्स से बनाए जा सकते हैं. |
रंग मान( ParseJSON( "{ ""रंग"": ""#102030"" }" ).रंग ) With( { uo: ParseJSON( "{ ""r"": 255, ""g"": 128, ""b"": 0, ""a"": 0.5 }" ) }, RGBA( मान( uo.r ), मान( uo.g ), मान( uo.b ), मान( uo.a ) ) ) |
मुद्रा, संख्या | { "numbervalue": 123.5 } |
दशमलव विभाजक के रूप में एक अवधि ( . ) के साथ JSON में संख्याओं को सीधे दर्शाया जाता है. | मान( ParseJSON("{ ""numbervalue"": 123.5 }").numbervalue ) |
दिनांक, तिथिसम, समय | { "start": "2022-05-10" } { "start": "23:12:49.000" } |
JSON में कोई दिनांक या समय प्रकार नहीं है, इसलिए वह केवल दिनांक और समय को स्ट्रिंग के रूप में प्रदर्शित कर सकता है. एक अनटाइप्ड ऑब्जेक्ट को सीधे ISO 8601 फॉर्मेट में एक स्ट्रिंग से डेट, टाइम या डेटटाइम में बदला जा सकता है. अन्य प्रारूपों के लिए, पहले Text() फ़ंक्शन का उपयोग करके JSON फ़ील्ड को पाठ में बदलें और फिर DateValue(), TimeValue() या DateTimeValue() फ़ंक्शन का उपयोग करें जो डिफ़ॉल्ट रूप से वर्तमान उपयोगकर्ता की सेटिंग्स की भाषा का उपयोग करेगा. |
DateValue( ParseJSON("{ ""appointment"": ""2022-05-10"" }").appointment ) DateValue( Text( ParseJSON("{ ""appointment"": ""5 मई, 2022"" }").appointment ) ) |
मार्गदर्शक | { "id": "123e4567-e89b-12d3-a456-426655440000" } |
JSON में GUIds के लिए डेटा प्रकार नहीं है, इसलिए उन्हें केवल स्ट्रिंग्स के रूप में प्रदर्शित किया जा सकता है. | GUID( ParseJSON("{ ""id"": ""123e4567-e89b-12d3-a456-426655440000"" }").id ) |
HyperLink, छवि, मीडिया | { "URI": "https://northwindtraders.com/logo.jpg" } |
ये डेटा प्रकार टेक्स्ट डेटा प्रकार हैं, और इन्हें टेक्स्ट में परिवर्तित किया जा सकता है और फिर Power Apps में उपयोग किया जा सकता है. | टेक्स्ट( ParseJSON("{ ""URI"": ""https://northwindtraders.com/logo.jpg"" }").URI ) |
विकल्प | { "status": 1 } { "status": "Closed" } |
विकल्पों को एक संख्या द्वारा समर्थित स्थानीय स्ट्रिंग्स के रूप में प्रस्तुत किया जाता है. JSON() फ़ंक्शन इसकी बैकिंग संख्या के लिए एक विकल्प को क्रमबद्ध करता है. किसी विकल्प में संख्या या स्ट्रिंग से कोई सीधा रूपांतरण नहीं है, लेकिन Switch() या If() फ़ंक्शन पाठ या संख्या मान पर उपयोग किया जा सकता है. | स्विच( मान( ParseJSON( "{ ""स्थिति"": 1 }" ).स्थिति ), 0, स्थिति.खुला, 1, स्थिति.बंद ) |
रिकॉर्ड | { "field": "value" } |
JSON ऑब्जेक्ट से रिकॉर्ड संरचना में कोई सीधा रूपांतरण नहीं होता है, लेकिन रिकॉर्ड बनाने के लिए अनटाइप्ड ऑब्जेक्ट से अलग-अलग फ़ील्ड पुनर्प्राप्त की जा सकती हैं. | { फ़ील्ड: टेक्स्ट( ParseJSON( "{ ""फ़ील्ड"": ""मूल्य"" }" ).फ़ील्ड ) } |
रिकॉर्ड संदर्भ | लागू नहीं | रिकॉर्ड संदर्भ डेटा स्रोतों के लिए अद्वितीय हैं और उन्हें क्रमबद्ध या अक्रमबद्ध नहीं किया जा सकता है. फ़ील्ड मान जो अद्वितीय कुंजियों का प्रतिनिधित्व करते हैं, उनका उपयोग JSON में रिकॉर्ड की पहचान करने के लिए किया जा सकता है जिसे तब देखा जा सकता है. | लागू नहीं |
टेबल | [ { "id": 1, "name": "one" }, { "id": 2, "name": "two" } ] [1, 2, 3] |
JSON में सरणियाँ हो सकती हैं, जिन्हें तालिकाओं में परिवर्तित किया जा सकता है. ये मान रिकॉर्ड्स की सरणियाँ, या मानों की सरणियाँ हो सकते हैं जो प्रभावी रूप से सिंगल कॉलम टेबल हैं. ParseJSON() सरणी को केवल अलिखित ऑब्जेक्ट्स की एकल स्तंभ तालिका में परिवर्तित किया जा सकता है, और इसे उसी रूप में उपयोग किया जा सकता है या ForAll() का उपयोग करके रिकॉर्ड की टाइप की गई तालिकाओं में परिवर्तित किया जा सकता है। | ForAll( Table( ParseJSON( "[ { ""id"": 1, ""name"": ""one"" }, { ""id"": 2, ""name"": ""two"" } ]" ) ), { id: Value(ThisRecord.Value.id), name: Text(ThisRecord.Value.name) } ) |
टेक्स्ट | { "stringField": "this is text" } |
पाठ JSON में एक स्पष्ट प्रकार है और इसे सीधे रूपांतरित किया जा सकता है. | Text( ParseJSON( "{ ""stringField"": ""यह text है"" }").stringField ) |
दो विकल्प | { "available": true } { "available": "Yes" } |
बूलियन द्वारा समर्थित स्थानीय स्ट्रिंग्स के रूप में दो विकल्प प्रस्तुत किए गए हैं. JSON() फ़ंक्शन इसके बूलियन मान के लिए दो विकल्पों को क्रमबद्ध करता है. बूलियन, संख्या या स्ट्रिंग से दो विकल्पों में कोई सीधा रूपांतरण नहीं है, लेकिन पाठ, संख्या या बूलियन मान पर Switch() या If() फ़ंक्शन का उपयोग किया जा सकता है. | स्विच( बूलियन( ParseJSON( "{ ""उपलब्ध"": सत्य }" ).उपलब्ध ), गलत, Availability.No, सत्य, उपलब्धता.हाँ ) |
उदाहरण
फ़ील्ड मानों को एक्सेस करना
निम्नलिखित JSON स्ट्रिंग को JsonString
नाम के एक वेरिएबल में दिया गया है
{ "parent": { "child": "text value" }, "number": 567 }
- निम्न सूत्र पाठ
text value
देता है:Text( ParseJSON( JsonString ).parent.child )
- निम्न सूत्र संख्या
567
देता है:Value( ParseJSON( JsonString ).number )
यदि फ़ील्ड नाम में अमान्य पहचानकर्ता नाम है, तो आप फ़ील्ड नामों को सिंगल कोट्स में रख सकते हैं.
निम्नलिखित JSON स्ट्रिंग को JsonString
नाम के एक वेरिएबल में दिया गया है
{ "0": { "child-field": "text value" } }
- निम्न सूत्र पाठ
text value
देता है:Text( ParseJSON( JsonString ).'0'.'child-field' )
रिक्त
निम्नलिखित JSON स्ट्रिंग को JsonString
नाम के एक वेरिएबल में दिया गया है
{ "text": "text value" , "number": 567, "empty": null }
- गैर-मौजूद फ़ील्ड तक पहुँचने के प्रयास में Blank() मिलता है. निम्न सूत्र
true
लौटाता है:IsBlank( Text( ParseJSON( JsonString ).parent.child ) )
- JSON
null
मानों को Blank() माना जाता है. निम्न सूत्रtrue
लौटाता है:IsBlank( Text( ParseJSON( JsonString ).empty ) )
सरल सरणियाँ
निम्नलिखित JSON स्ट्रिंग को JsonString
नाम के एक वेरिएबल में दिया गया है
{ "array": [1, 2, 3] }
-
अनटाइप्ड ऑब्जेक्ट की सरणी फ़ील्ड की एकल-कॉलम तालिका में दूसरी संख्या तक पहुँचना और Value() का उपयोग करके किसी संख्या में कनवर्ट करना
2
लौटाता है:Value( Index( ParseJSON( JsonString ).array, 2 ) )
- सरणी फ़ील्ड में अनटाइप्ड ऑब्जेक्ट की एकल-कॉलम तालिका को संख्याओं की एकल कॉलम तालिका में बदलना
{ Value: 1 }, { Value: 2 }, { Value: 3 }
:ForAll( ParseJSON( JsonString ).array, Value( ThisRecord ) )
रिकॉर्ड की सरणियाँ
निम्नलिखित JSON स्ट्रिंग को JsonString
नाम के एक वेरिएबल में दिया गया है
{ "array": [
{ "id": 1, "name": "One"},
{ "id": 2, "name": "Two"}
] }
सीधे ForAll() के साथ रिकॉर्ड की टाइप की गई तालिका में कनवर्ट करने का काम
ThisRecord.[fieldname]
का उपयोग करके अनटाइप्ड ऑब्जेक्ट फ़ील्ड तक पहुंचने और उन्हें ज्ञात प्रकारों में परिवर्तित करने के लिए किया जा सकता है:ForAll( ParseJSON( JsonString ).array, { id: Value(ThisRecord.id), name: Text(ThisRecord.name) })
सरणी से तालिका
-
Table() फ़ंक्शन का उपयोग करके अनटाइप्ड ऑब्जेक्ट को एक तालिका में रूपांतरित करने से अनटाइप्ड ऑब्जेक्ट की एकल-कॉलम तालिका बन जाएगी. तब वस्तु को
Value
(एकल) कॉलम का उपयोग करके एक्सेस किया जाना चाहिए और जैसा कि पहले बताया गया है, प्रकारों में परिवर्तित किया जाना चाहिए.
निम्नलिखित JSON स्ट्रिंग को JsonString
नाम के एक वेरिएबल में दिया गया है
{ "array": [1, 2, 3] }
Table() अलिखित वस्तुओं की एकल-स्तंभ तालिका लौटाता है सरणी में संख्या के लिए एकल-स्तंभ मान के साथ...
Set(untypedTable, Table( ParseJSON( JsonString ).array ));
Value( Index(untypedTable, 1).Value.Value )
```
Given the following JSON string in a variable named `JsonString`
```JSON
{ "array": [
{ "id": 1, "name": "One"},
{ "id": 2, "name": "Two"}
] }
Table() अलिखित ऑब्जेक्ट्स की एकल-स्तंभ तालिका लौटाता है जो सरणी में प्रत्येक json ऑब्जेक्ट का प्रतिनिधित्व करता है।
Set(untypedTable, Table( ParseJSON( JsonString ).array ) );
Text( Index(untypedTable, 1).Value.name )