2011-11-24 16 views
7

मेरे वेब सेवा प्रतिक्रियाओं माइम प्रकार है:, रिक्ति के बिना "application/json" और मेरे JSON आउटपुट इसजेसन आउटपुट को कैसे प्रारूपित करें?

{"Data":{"Item":"123","Timestamp":"2011-11-24T17:50:43"}} 

की तरह जब JSON चाहिए इस

तरह उत्पादन
{ 
    "Data":{ 
     "Item":"123", 
     "Timestamp":"2011-11-24T17:50:43" 
    } 
} 

क्या कोई तरीका है कि मैं JSON प्रारूप को ठीक कर सकता हूं, तो यह # 2 जैसा प्रतीत होता है?

+1

आप कहते हैं कि "ऐसा" दिखना चाहिए - क्यों? इसे प्रारूपित करने में सक्षम * सक्षम होना अच्छा है, लेकिन यह समझना महत्वपूर्ण है कि दो संस्करण समान हैं जहां तक ​​डेटा उपभोग करने वाले जावास्क्रिप्ट का संबंध है। –

+0

क्या आपको इसे डिबगिंग के लिए चाहिए? मैं बस दिलचस्पी – Grrbrr404

+0

@ जोन्स स्केट के अलावा - आपको जेएसओएन निकेलि बनाने से थोड़ा अधिक ओवरहेड जोड़ देगा (क्योंकि व्हाइटस्पेस पात्रों को भी तार के माध्यम से स्थानांतरित करने की आवश्यकता होगी)। –

उत्तर

22

मैं प्रारूप वेब सेवा से बाहर लिखा परिवर्तन नहीं होगा, लेकिन आप Json.NET का उपयोग बहुत बस यह करने के लिए कर सकते हैं अगर आप नैदानिक ​​ प्रयोजनों के लिए स्वरूपित करना चाहते हैं:

JObject json = JObject.Parse(text); 
string formatted = json.ToString(); 

परिणाम है स्वचालित रूप से स्वरूपित। आप इसे एक छोटे से टूल में डाल सकते हैं - या तो डेस्कटॉप उपकरण या वेब पेज कहीं भी। (अगर पहले से ही ऑनलाइन जेएसओएन फॉर्मेटर्स थे तो मुझे आश्चर्य नहीं होगा, हालांकि स्पष्ट रूप से आप संवेदनशील डेटा स्वरूपण के बारे में सावधान रहना चाहते हैं।)

+1

टेलरिक से फिडलर जेएसओएन प्रतिक्रिया को अच्छी तरह से प्रारूपित करता है। –

+0

संवेदनशील डेटा स्वरूपण के बारे में मुझे सावधान क्यों रहना चाहिए? –

+2

@ ज़िनानएक्सिंग: वाक्य के संदर्भ को देखें: * ऑनलाइन जेएसओएन फॉर्मेटर्स *। अगर आपको अपने ग्राहकों के बारे में निजी जानकारी मिली है, तो आपको लगता है कि वे फ़ॉर्मेटिंग के लिए कुछ तृतीय पक्ष वेबसाइट पर उन्हें सबमिट करने के बारे में कैसा महसूस करेंगे (शायद HTTP पर)? –

-1

यदि आप फ़ायरफ़ॉक्स से अपनी सेवा को कॉल करते हैं तो यह अच्छी प्लगइन है जो JSON को प्रसन्न करेगी आप के लिए: JSON Formatter

+2

ओपी चाहता है कि इसे सी # का उपयोग करके प्रोग्रामेटिक रूप से किया जाए। –

2

जॉन का जवाब अगर आपके json के मूल तत्व एक सरणी है काम करने के लिए प्रतीत नहीं होता: JSONView

मैं भी स्वरूपित और किसी भी JSON मान्य करने के लिए उपयोग करने के लिए इस वेबसाइट का इस्तेमाल किया। जॉब्जेक्ट के बजाय जेटोकन का उपयोग करना मेरे लिए यह तय करता है। स्ट्रिंग पर एक विस्तार विधि के रूप में, ऐसा लगता है:

public static string FormatJson(this string json) 
{ 
    return JToken.Parse(json).ToString(); 
} 
संबंधित मुद्दे