मैं JSON स्ट्रिंग परिवर्तित करने के लिएसी # क्रमबद्ध JSON स्ट्रिंग कुंजी
"{ \"birthday\": \"1988-03-18\", \"address\": { \"state\": 24, \"city\": 8341, \"country\": 1 } }"
"{ \"address\": { \"city\": 8341, \"country\": 1, \"state\": 24 }, \"birthday\": \"1988-03-18\" }"
को नोट करना चाहते हैं: मैं संचार के लिए क्रमबद्ध संस्करण का उपयोग नहीं कर रहा हूँ (क्योंकि कुंजी आदेश नहीं करता है वास्तव में कोई फर्क नहीं पड़ता), मुझे स्थानीय परीक्षण करने के लिए एक क्रमबद्ध संस्करण की आवश्यकता है (जेएसओएन तारों की तुलना करके)।
संपादित करें: I4V एक समाधान Json.Net का उपयोग करता है, मैं नहीं बल्कि एक समाधान है कि किसी भी 3 पार्टी पुस्तकालय (वास्तव में मैं में System.Json में बनाया का उपयोग कर रहा शामिल करने के लिए की जरूरत नहीं है का प्रयोग करेंगे बताया मेरी आवेदन)
मैं I4V + कुछ परीक्षण here द्वारा प्रदान समाधान के साथ एक सार पोस्ट। आप सभी को धन्यवाद।
हम्म ... हालांकि यह लगता है कि टेम्प्टिंग, मैं उद्यम करता हूं कि बेहतर समाधान एक स्ट्रिंग तुलना के बजाय JSON का थोड़ा गहरा निरीक्षण होगा। यह देखते हुए कि जेएस में गुणों की गणना spec द्वारा निर्धारित नहीं है, ऑब्जेक्ट गुणों का क्रम पर भरोसा नहीं किया जाना चाहिए क्योंकि यह एक जेसन serialization के गुणों को आदेश देने के लिए वास्तव में अर्थहीन है। ईसीएमए -262, सेक्शन 12.6.4: गुणों की गणना करने के यांत्रिकी ... कार्यान्वयन निर्भर है। – spender
@ स्पेंडर मैं आपसे सहमत हूं कि JSON कुंजी ऑर्डर अर्थहीन है और स्ट्रिंग तुलना का उपयोग बड़े/जटिल JSON ऑब्जेक्ट्स की तुलना करने के लिए नहीं किया जाना चाहिए। लेकिन एक JSON स्ट्रिंग सॉर्टर बहुत विशिष्ट स्थितियों (मेरे रूप में) –