2013-01-09 9 views
6

मेरे पास एक क्वेरी है, जिसे मैं एक JSON ऑब्जेक्ट में कनवर्ट करना चाहता हूं।कोल्डफ्यूजन: QUERY से JSON

मेरी क्वेरी के भीतर, एक स्ट्रिंग है (उदाहरण के लिए "0000" या "0001")। दुर्भाग्यवश, SerializeJSON पर कॉल करने के बाद, स्ट्रिंग एक संख्या है (0, 1, ...)।

मुझे jQuery के साथ फ़ंक्शंस कॉल करते समय त्रुटि मिलती है क्योंकि JSON ऑब्जेक्ट मान्य नहीं है। उद्धरण चिह्न असफल हो गए हैं:

{ 
    "COLUMNS": ["Test1","Test2","Test3"], 
    "DATA": [ ["AA ",0000,"testestest"] ] 
} 

मैंने पहले से ही बहुत सी चीजों की कोशिश की है। क्या आप मेरी मदद कर सकते हैं?

यहाँ मेरी कोड है:

<cffunction name="getData" access="remote" returntype="any" returnformat="JSON"> 
    SQL.... 

    <cfset result = SerializeJSON(result)> 

    <cfreturn result> 
</cffunction> 

उत्तर

3

इस समारोह मदद कर सकता है: http://www.davidosomething.com/blog/fix-cf-serializejson-number-conversion

वैकल्पिक रूप से, इस दृष्टिकोण का उपयोग: तो यह स्तंभ और संलग्न कर देता है का चयन करता है http://www.ghidinelli.com/2008/12/19/tricking-serializejson-to-treat-numbers-as-strings

आप अपनी क्वेरी को संशोधित कर सकता है एक ही समय में कुछ अग्रणी सफेद जगह, उदाहरण के लिए

<cfquery> 
    SELECT ' ' + Test2 AS yourColumn 
5

यह एक ColdFusion 9 बग जो Adobe ColdFusion (बग आईडी 83638) में पंजीकृत किया गया था। इस समस्या को हल करने के लिए आप अपने कोल्डफ्यूजन को कोल्डफ्यूजन 9.0.1 में अपग्रेड कर सकते हैं। आपको बस हॉट फिक्स इंस्टॉल करने की आवश्यकता है।

हॉट फ़िक्स स्थापित करने के लिए निम्न URL पर जाएं।

http://helpx.adobe.com/coldfusion/kb/cumulative-hotfix-1-chf1-coldfusion.html

इस सुधार में पहले से ही ColdFusion में जोड़ा जाता है 10

3

हालांकि बिल्कुल वैसा ही नहीं वहाँ a post here कि मैं json AngularJS साथ प्रयोग किया जा करने के लिए एक प्रश्न serializing के बारे में पूछा है कि उपयोगी हो सकता है