जेसन स्ट्रिंग में एम्बेडेड दिनांक

मेरे पास एक फ़ंक्शन है, जो एक स्ट्रिंग प्राप्त करता है और इसे एक जेसन ऑब्जेक्ट में परिवर्तित करता है।

समस्या यह है कि, कभी-कभी, टी फ़ंक्शन एक तिथि प्राप्त कर सकता है, और मुझे इसे एक तिथि होने की आवश्यकता है! (एक स्ट्रिंग नहीं)।

उदाहरण के लिए, मैं जिस स्ट्रिंग को फ़ंक्शन में भेजता हूं वह इस तरह है:

[{
        "date" : new Date(2013 - 01 - 01),
        "Weigth" : "120.00"
    }, {
        "date" : new Date(2013 - 01 - 01),
        "Weigth" : "110.00"
    }
]

अन्य मामलों में, स्ट्रिंग इस तरह दिखेगी:

[{
        "age" : 12,
        "Weigth" : "120.00"
    }, {
        "age" : 15,
        "Weigth" : "110.00"
    }
]

लेकिन, पहले उदाहरण में, पार्सर एक त्रुटि फेंकता है। मैं इस मामले का पता कैसे लगा सकता हूं, और इस अंश के साथ एक जावास्क्रिप्ट ऑब्जेक्ट उत्पन्न करने के लिए पार्स को मजबूर कर सकता हूं?

धन्यवाद!

0
आप नहीं कर सकते, क्योंकि यह JSON नहीं होगा। यदि क्लाइंट जेएस कोड के रूप में प्रतिक्रिया का मूल्यांकन करके सहयोग करता है तो यह संभव होगा (लेकिन यह क्लाइंट को सर्वर से हमलों के लिए कमजोर बना देगा)।
जोड़ा लेखक Jon, स्रोत
JSON तिथियों में "{" d ":" 2013-11-25T14: 41: 24.726Z "}"
जोड़ा लेखक megawac, स्रोत

1 उत्तर

eval() आपकी स्ट्रिंग का सबसे आसान तरीका है, लेकिन मैं आपको एक सही JSON उत्पन्न करने का सुझाव दूंगा क्योंकि eval() का कारण बन सकता है ऐसी समस्याएं जो इस आसान रूपांतरण के लाभ के लायक नहीं हैं:

var invJSIN = '[{"date":new Date(2013-01-01),"Weigth":"120.00"},{"date":new Date(2013-01-01),"Weigth":"110.00"}]'
var something = eval(invJSON)
0
जोड़ा