2012-09-22 13 views
5

मैंने Data::Dumper::Dumper(); के बराबर सी के संबंध में, इसी तरह के शीर्षक वाले पोस्ट (Is there a C equivalent to Perls' Dumper() method in Data::Dumper?) को देखा है। मेरे पास गो भाषा के लिए एक समान सवाल है।क्या डेटा :: डम्पर में पर्ल्स डम्पर() विधि के बराबर एक गो भाषा है?

मैं व्यापार द्वारा एक पर्ल Zealot हूं, और एक प्रोजेमिंग शौकिया हूं, और Data::Dumper का उपयोग करता हूं और इसी तरह के संतानों को सचमुच सैकड़ों बार दिन का उपयोग करना पड़ता है। मैंने गो सीखना शुरू कर लिया है, क्योंकि यह एक मजेदार और रोचक भाषा की तरह दिखता है, कुछ ऐसा जो मुझे पर्ल रट से बाहर ले जाएगा, जबकि मैं अपनी आंखें स्टफज़ करने के नए तरीकों से खोल रहा हूं ... चीजों में से एक

fmt.Println(dump.Dumper(decoded_json)) 

परिणामी डेटा संरचना को देखने के लिए, की तरह Data::Dumper Hashes की एक सरणी में JSON चालू करेंगे: मैं वास्तव में चाहते हैं कुछ की तरह है। इसे गो में देखकर, मुझे समझने में मदद मिलेगी कि डेटा के साथ निर्माण और काम कैसे करें। इस तरह के कुछ को जाने के अपने सीखने में एक प्रमुख लाइटबुल क्षण माना जाएगा। सी समकक्ष पोस्ट में दिए गए बयान के

विपरीत, मेरा मानना ​​है कि हम यह लिख सकते हैं, और के बाद से मैं println को डम्पर गुजर रही होगी, संकलन जो भी JSON स्ट्रिंग या एक्सएमएल पेज मैं में गुजरती हैं और डिकोड करने के बाद। मुझे डिकोडिंग के परिणाम को डूपर में राज्य जैसा दिखने में सक्षम होना चाहिए ... तो, क्या इस तरह की किसी भी चीज़ के बारे में और कुछ पता है? या शायद कुछ ऐसा करने के लिए कुछ संकेतक किया?

उत्तर

4

मुझे गो में डेटा को देखने में मदद करने के लिए कुछ पैकेज मिले।

मेरा व्यक्तिगत पसंदीदा - https://github.com/davecgh/go-spew

वहाँ भी है - https://github.com/tonnerre/golang-pretty

+0

धन्यवाद यह वास्तव में उपयोगी जानकारी थी। गोलांग-सुंदर वही था जो मैं ढूंढ रहा था – Drew

10

हाय और जाने के लिए आपका स्वागत है मैं खुद को पूर्व पेर्ल हैकर हूं।

आपके प्रश्न के अनुसार एन्कोडिंग/जेसन पैकेज शायद सबसे नज़दीक है, आपको डेटा डेटा प्रिंटर पर जाना होगा। मुझे यकीन नहीं है कि आपको वास्तव में इसकी आवश्यकता है। कारणों में से एक डेटा :: डम्पर पेर्ल में भयानक था क्योंकि कई बार आप वास्तव में उस डेटा की संरचना को नहीं जानते थे जिसे आप बिना निरीक्षण के उपभोग कर रहे थे। जाने के साथ हालांकि सब कुछ एक विशिष्ट प्रकार है और प्रत्येक विशिष्ट प्रकार की एक विशिष्ट संरचना है। यदि आप जानना चाहते हैं कि डेटा कैसा दिखाई देगा तो आपको शायद इसकी परिभाषा को देखने की आवश्यकता होगी।

कुछ अन्य उपकरण आप को देखना चाहिए में शामिल हैं:

  • fmt.Println("%#v", data) जाने वाक्य रचना फार्म में डेटा प्रिंट होगा।
  • fmt.Println("%T", data) डेटा के प्रकार को go-syntax फ़ॉर्म में प्रिंट करेगा।
  • अधिक fmt प्रारूप स्ट्रिंग विकल्प यहाँ प्रलेखित हैं: http://golang.org/pkg/fmt/
+0

वहाँ (पर [ 'json.Unmarshall'] http://golang.org/pkg (% + v' का उपयोग कर') एक उदाहरण है/एन्कोडिंग/जेसन/# उमरशाल) डॉक्टर। – ephemient

+0

@ जेरेमी वॉल धन्यवाद !! – jnbek

5

मैं पर्ल और डम्पर से परिचित नहीं हूँ, लेकिन मैं क्या अपनी पोस्ट और संबंधित सी पोस्ट (और समारोह के बहुत नाम की समझ में से !), यह डेटा संरचना की सामग्री outputs।

आप fmt package के% v क्रिया का उपयोग करके ऐसा कर सकते हैं। मुझे लगता है कि आपका JSON डेटा किसी संरचना या मानचित्र में डीकोड किया गया है। fmt.Printf("%v", json_obj) का उपयोग मूल्यों को आउटपुट करेगा, जबकि% + v फ़ील्ड नाम जोड़ देगा (एक स्ट्रक्चर के लिए - यदि कोई नक्शा है, तो कोई फर्क नहीं पड़ता है,% v दोनों कुंजी और मान आउटपुट करेगा), और% # v आउटपुट प्रकार की जानकारी भी देगा।

संबंधित मुद्दे