2011-01-09 16 views
6

मैं Play का उपयोग कर रहा हूँ! ढांचे और मेरे पास एक मॉडल (एक इकाई) है जिसमें एक प्रकार का नक्शा है।Play में किसी YAML फ़ाइल में मानचित्र को परिभाषित करने के लिए कैसे करें! ढांचा?

कुछ परीक्षण करने के लिए, जब भी मैं एप्लिकेशन शुरू करता हूं, मैं एक वाईएएमएल फ़ाइल लोड करता हूं, लेकिन मुझे मानचित्र को परिभाषित करने के लिए वाक्यविन्यास नहीं पता है।

मान लीजिए मैं इस वर्ग

public class aClass { 
    public int arg1; 
    public String arg2; 
    public Map<String, Integer> arg3; 
} 

क्या मेरी YAML फ़ाइल कैसा दिखेगा है? मैंने यह कोशिश की:

aClass(object1) 
    arg1: 34 
    arg2: aString 
    arg3: [key1: value1, key2: value2] <- What do I do here? 

यह मेरी कई कोशिशों में से एक है। मुझे वाक्यविन्यास नहीं पता है और मैं इसे इंटरनेट पर नहीं ढूंढ सकता। मुझे लगता है कि प्ले! SnakeYAML का उपयोग YAML पार्सर के रूप में करता है।

दस्तावेज़ में मुझे कुछ उदाहरण मिले, लेकिन उनमें से कोई भी काम नहीं करेगा।

मेरे आवेदन में, सबकुछ काम करता है सिवाय इसके कि मैप वैरिएबल (उदाहरण में arg3) का आकार 0 तत्व है।

धन्यवाद।

+0

सांपवाईएएमएल दस्तावेज के अनुसार, और प्ले दस्तावेज, सही संकेत प्रश्न चिह्नों का उपयोग करना है। हालांकि, मैंने इस तरह से अपना कोड चलाने की कोशिश की है, और हालांकि यह संकलित है, इसमें कोई प्रविष्टियां नहीं हैं! मैं खुदाई रखूंगा। – Codemwnci

+0

जब आप प्रश्न चिह्नों का उपयोग करते हैं तो यह काम करता है? –

+0

मैंने प्रश्न चिह्नों का उपयोग करके फिर कोशिश की। यह संकलित करता है, लेकिन जब मैं YAML फ़ाइल में निर्दिष्ट कुंजियों में से किसी एक का मान प्राप्त करने का प्रयास करता हूं तो मेरा मानचित्र शून्य हो जाता है। –

उत्तर

6

Google Groups पर इस धागे के अनुसार ऐसा लगता है कि आपको जिस वाक्यविन्यास की आवश्यकता है वह एक प्रश्न चिह्न का उपयोग करना है।

थ्रेड में निम्नलिखित वाक्यविन्यास में एक कार्यशील मानचित्र है।

Bloc(b2): 
    labelSeries: testDeValeur 
    criterias: 
    ? key1 
    : value1 
    ? key2 
    : value2 

तो, मुझे लगता है कि अपने उदाहरण

aClass(object1) 
    arg1: 34 
    arg2: aString 
    arg3: 
    ? key1 
    : value1 
    ? key2 
    : value2 

मैं हालांकि इस परीक्षण किया है और यह काम नहीं करता होगा! मैं इस पर एक नज़र डालने के लिए एक बग उठाने का सुझाव दूंगा, क्योंकि इस पर सभी दस्तावेज बिंदु सही हैं।

+0

मैंने अपना प्रश्न सही किया। लेकिन मुझे Google समूह पर सटीक एक ही धागा मिला और यह काम नहीं किया ... –

+0

तो यह काम नहीं करता है, लेकिन स्वीकार्य उत्तर है! WAT? –

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