c# - Parse JSON object using RegEx -
मेरे पास निम्न JSON स्ट्रिंग है:
{"प्रथम नाम": "जॉन", "LastName": "Smith"} जब मैं निम्नलिखित regex को लागू करता हूं, यह सही-सही कुंजी-मूल्य जोड़ी समूह देता है:
(? & Lt; keyValuePair & gt; (? & LT; कुंजी & gt; "\ w +"):) + (& lt; मान & gt +? "* [^ \\]।?"?)? मुझे मैचों मिलते हैं:
1 "प्रथम नाम": "जॉन" 1.1 कुंजी: "प्रथम नाम" 1.2 मूल्य: "जॉन" 2. "अंतिम नाम": "स्मिथ" 2.1 कुंजी: "अंतिम नाम" 2.2 मान: "स्मिथ" अब, मुझे ऑब्जेक्ट के लिए समूह होना है, यानी सभी ऑब्जेक्ट्स को ढूंढना है .. एक ही जेएसओएन स्ट्रिंग पर, मैं निम्नलिखित रेगेक्स
(? & Lt; ऑब्जेक्ट & gt; {(? & Lt; गुण & gt;। *?)}) मुझे मैचों मिलते हैं:
1 1.1 "वस्तु": "जॉन", "अंतिम नाम": "स्मिथ"} 1.1 वस्तु: {"प्रथम नाम": "जॉन", "अंतिम नाम": "स्मिथ"} 1.2 गुणधर्म: "प्रथमनाम": "जॉन", "लास्टलाइम ":" स्मिथ " मुझे जो चाहिए, वह दूसरा regex में प्रॉपर्टी के उप-समूह के रूप में पहले रेगेक्स की गॉप्स को प्राप्त करता है।
इसलिए अपेक्षित परिणाम होना चाहिए:
1 1.1 "वस्तु": "जॉन", "अंतिम नाम": "स्मिथ"} 1.1 वस्तु: {"प्रथम नाम": "जॉन", "अंतिम नाम": "स्मिथ"} 1.2 गुणधर्म: "प्रथमनाम": "जॉन", "लास्टलाइम ":" स्मिथ "1.2.1" फर्स्टनेम ":" जॉन "1.2.1.1 कुंजी:" फर्स्टनेम "1.2.1.2 मान:" जॉन "1.2.2" लास्टनाम ":" स्मिथ "1.2.2.1 कुंजी:" अंतिम नाम "1.2 2..2 मूल्य: "स्मिथ" किसी ने मुझे ऊपर के रूप में परिणाम प्राप्त करने के लिए एक regex बनाने में मदद की है।
यह एक डुप्लिकेट मैंने अभी तक पिछले 3 घंटे से कई चीजों की कोशिश की है और मेरा मन कताई है।
मैंने अभी तक पिछले 3 घंटे से कई चीजों का प्रयास किया है और मेरा मन कताई कर रहा है।
नहीं सावधान रहना, बिल्कुल नहीं, लेकिन 3 घंटे में आप JSON के लिए एक पुनरावर्ती वंश पार्सर लिख सकते थे, या लगभग 30 मिनट में आप JSON.NET इंस्टॉल कर सकते थे, दस्तावेज़ / नमूने पढ़ सकते हैं और अन्य चीज़ों पर चले गए अब कोशिश क्यों नहीं की? Regex के साथ JSON पार्स करने में कोई भविष्य नहीं है, क्योंकि JSON एक संदर्भ मुक्त भाषा है, जो पुनरावर्ती और संभावित रूप से अनगिनत लंबे और नेस्टेड है। रेगेक्स डीएफए / एनएफए है यह CFG को नियंत्रित नहीं कर सकता जैसे की तरह (ठीक है मैं विरोध नहीं कर सका)
जब तक आपके पास बहुत ही सीमित प्रकार के JSON नहीं होते हैं और पूरी तरह से तीसरी पार्टी पुस्तकालय जोड़ने के खिलाफ हैं, तो मुझे परेशान नहीं होगा। सीखने के अनुभव के लिए इसे चाकें।
Comments
Post a Comment