2014-09-10 7 views
6

कल्पना कीजिए मैं एक साधारण वस्तु नीचे एक करने के लिए इसी तरह संरचित है,:क्या JMS Serializer के साथ किसी ऑब्जेक्ट की जड़ में सरणी को क्रमबद्ध करना संभव है?

Object (SomeClass) { 
    $someOtherData (array) [ 
     ... 
    ] 

    $data (array) [ 
     "key": "value", 
     "key": "value", 
     "key": "value", 
     "key": "value" 
    ] 
} 

अगर मैं JSON के JMS Serializer के साथ इस वस्तु को क्रमानुसार करने थे, मैं एक परिणाम के एक समान संरचना है कि मिल चाहते हैं, लेकिन साथ यानी

{ 
    "someOtherData": { 
     ... 
    }, 
    "data": { 
     "key": "value", 
     "key": "value", 
     "key": "value", 
     "key": "value" 
    } 
} 

मैं धारावाहिक परिणाम की जड़ पर होना $ डेटा चर की सामग्री की आवश्यकता है,: $ डेटा मूल तत्व पर किया जा रहा है, इसलिए जैसे

{ 
    "someOtherData": { 
     ... 
    }, 
    "key": "value", 
    "key": "value", 
    "key": "value", 
    "key": "value" 
} 

क्या यह संभव है? यदि हां, तो कैसे?

उत्तर

7

बाहर निकलता है इसके लिए एक टिप्पणी है। यह @Inline एनोटेशन है:

use JMS\Serializer\Annotation\Inline; 

// ... 

/** 
* @var array 
* 
* @Inline 
*/ 
protected $variables; 
0

मुझे लगता है कि सबसे अच्छा तरीका एक SerializationHandler का उपयोग कर रहा है। यहां आप कुछ दस्तावेज पा सकते हैं: http://jmsyst.com/libs/serializer/master/handlers

+0

हममम, मुझे लगता है कि जब से मैं इस प्रश्न पोस्ट कोशिश कर रहे हैं - केवल एक चीज है, मैं क्रमबद्धता के परिणाम के रूप 'अशक्त' बार मिलती है, कोई फर्क नहीं पड़ता कि मैं क्या हैंडलर से लौट आते हैं। अजीब ... – Seer

+0

क्या आप ऑब्जेक्ट क्लास फ़ाइल और SerializerHandler के साथ एक गिस्ट बना सकते हैं? – skler

+1

कभी नहीं! मैंने पाया कि मैं क्या कर रहा था। @Inline एनोटेशन। – Seer

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