क्या PHP में JSON ऑब्जेक्ट बनाने का कोई तरीका है जिसमें जावास्क्रिप्ट date
ऑब्जेक्ट है? json_encode
स्वचालित रूप से PHP के DateTime
को जावास्क्रिप्ट के date
पर परिवर्तित करता है?क्या PHP द्वारा लौटाए गए JSON ऑब्जेक्ट में दिनांक वस्तु
उत्तर
आप दिनांक/समय को यूनिक्स टाइमस्टैम्प के रूप में पास कर सकते हैं जो एक पूर्णांक है, जो JSON में एक मूल रूप से समर्थित डेटा प्रकार है। PHP में डेटटाइम में "getTimestamp()" फ़ंक्शन है जो आपको वह मान देगा।
संक्षिप्त उत्तर: नहीं।
JSON केवल टेक्स्ट है, और सभी मान या तो सरणी, ऑब्जेक्ट्स, संख्याएं, स्ट्रिंग्स, बूलियन या नल हैं। इस मामले में "ऑब्जेक्ट" मूल रूप से सिर्फ एक PHP सरणी है - इसमें विधियां नहीं हो सकती हैं। आपको दिनांकों में मैन्युअल रूप से तिथियां (जो स्ट्रिंग्स होंगी) को मैन्युअल रूप से परिवर्तित करने की आवश्यकता है।
JSON की औपचारिक परिभाषा जावास्क्रिप्ट Date
वस्तु मान्य JSON नहीं है और केवल जंगली में देखा जाता है, क्योंकि बहुत से लोगों को एक पूर्ण विकसित eval()
के साथ अपने JSON पार्स http://www.json.org/
पर है।
एक आसान, मानव-पठनीय विकल्प Date.parse()
द्वारा समर्थित प्रारूप में स्ट्रिंग के रूप में तारीख को भेजना होगा।
आपका JSON:
{
date: '<?php echo date("r", $myDate); ?>'
}
आपका जावास्क्रिप्ट:
var myDateObj = new Date(Date.parse(myJSON.date));
स्रोत: http://json.org/ - मान्य JSON डेटा प्रकार की एक सूची के लिए सही पर बॉक्स देखें।
मुझे उम्मीद थी कि मैं किसी भी तरह 'json_encode' के माध्यम से स्वचालित कर सकता है के रूप में मैं एक बड़े साहचर्य सरणी जिसमें से केवल कुछ मान (' $ दिनांकों [मैं] [ "शुरू"] ') है तिथियां दी गई हैं। – Eric
ज़रूर! उपयोग करें:
var JSONWithDate = {
"Date": new Date(<?php echo date("Y, ").(date(n) - 1).date(", j") ?>)
};
संपादित करें: कोड उदाहरण जोड़ें।
यहां मेरा कोड है और यह काम करता है।
<html>
<body>
<script>
var J = { "Date": new Date(<?php echo date("Y, ").(date("n") - 1).date(", j") ?>) }
document.write(J["Date"]);
</script>
</body>
</html>
संपादित करें 2: इसे JSON की तरह बनाएं।
यहां मेरा PHP कोड है। चर का उपयोग किए बिना
Tue Sep 15 2009 00:00:00 GMT-0600 (CST)
आप एक स्ट्रिंग है जावास्क्रिप्ट की तरह लग रहे पारित कर सकते हैं, तो शाब्दिक वस्तु (:
<html>
<body>
<script>
function PrintJSONFromPHP(pJSONStr) {
var aJSONObj = eval('('+pJSONStr+')');
document.write(aJSONObj["Date"]);
}
var aJSONStr = '{ "Date": new Date(2009, 8, 15) }';
PrintJSONFromPHP(aJSONStr);
</script>
</body>
</html>
जब रन, यह पता चलता है:
<html>
<body>
<script>
<?php
function GetJSONDate($FieldName = "Date") {
return "\"$FieldName\": new Date(".date("Y, ").(date("n") - 1).date(", j").")";
}
?>
function PrintJSONFromPHP(pJSONStr) {
var aJSONObj = eval('('+pJSONStr+')');
document.write(aJSONObj["Date"]);
}
var aJSONStr = '{ <?php echo GetJSONDate($FieldName = "Date"); ?> }';
PrintJSONFromPHP(aJSONStr);
</script>
</body>
</html>
यह निम्न HTML कोड उत्पन्न इसके अंदर), स्ट्रिंग को ऑब्जेक्ट में बदलने के लिए eval किया जा सकता है। इसका मतलब है कि आप इसे JSON के रूप में उपयोग कर सकते हैं।
उम्मीद है कि इससे मदद मिलती है।
आपका उदाहरण काम कर सकता है, लेकिन यह जावास्क्रिप्ट है और JSON नहीं है। –
मेरे अज्ञानी के लिए खेद है लेकिन मैं यह देखने में असफल रहा कि "यह जावास्क्रिप्ट है और JSON नहीं" का अर्थ है। JSON एक प्रकार का जावास्क्रिप्ट ऑब्जेक्ट शाब्दिक है जो हलचल के रूप में eval के रूप में। मेरा संपादन देखें (मुझे एक कोड दिखाई देता है जो इसे जेएसओएन की तरह दिखता है) लेकिन विचार बिल्कुल वही है। – NawaMan
http://json.org/ का संदर्भ लें, जहां आप पूर्ण विनिर्देश पा सकते हैं। सारांश से एक महत्वपूर्ण पंक्ति: "JSON एक टेक्स्ट प्रारूप है जो __completely भाषा स्वतंत्र__ है लेकिन सी, सी ++, सी #, जावा, _ जावास्क्रिप्ट_, पर्ल, पायथन, और भाषाओं सहित सी-परिवार के प्रोग्रामर से परिचित सम्मेलनों का उपयोग करता है। कई अन्य।" –
जबकि मैं @postfuturist उत्तर से सहमत हूं, वहां एक विकल्प है: वाक्य रचनात्मक चीनी के साथ नियमित अभिव्यक्ति।
$json_data = json_encode(['test' => '__' . $_SERVER['REQUEST_TIME']]);
$json_data = preg_replace_callback('/"__([0-9]{10})"/u', function ($e) {
return 'new Date(' . ($e[1] * 1000) . ')';
}, $json_data);
कौन सा होगा उत्पादन:
string(32) "{"test":new Date(1385820141000)}"
या
Object {test: Sat Nov 30 2013 14:02:21 GMT+0000 (GMT)}
अगर JSON डेटा था जावास्क्रिप्ट में नियंत्रित किया जा करने के लिए।
इसमें अधिकांश उपयोग मामलों को शामिल किया जाएगा (ध्यान दें कि यूनिक्स टाइमस्टैम्प आवश्यक रूप से 10 वर्ण लंबा नहीं है)। यदि उत्पादन में उपयोग किया जाता है, तो मूल्य के आकस्मिक प्रतिस्थापन को रोकने के लिए अधिक वाक्य रचनात्मक चीनी का उपयोग किया जाना चाहिए।
यह केवल तभी उपयोग किया जाना चाहिए जब JSON को XHR के माध्यम से पृष्ठ लोड समय पर इंजेक्शन दिया जाता है, उदा।
<html>
<head>
<script>
var myData = <?=$json_data?>;
</script>
</head>
<body>
</body>
</html>
यह वैध JSON नहीं होगा? हालांकि यह मान्य जावास्क्रिप्ट होगा। यदि मैं गलत हूं तो मुझे सही करों –
- 1. ट्विटर एपीआई द्वारा लौटाए गए दिनांक के संदर्भ में +0000 का क्या मतलब है?
- 2. अलग ulimit द्वारा लौटाए गए मूल्यों
- 3. लौटाए गए डेटाटेबल में फ़ाइलहेल्पर
- 4. एक प्रश्न द्वारा लौटाए गए कॉलम की संख्या
- 5. JSON `दिनांक" ... `` java.Util.Date` `org.json`
- 6. समूह द्वारा लौटाए गए समूहों की संख्या को कैसे गिनें?
- 7. एमवीसी 3 प्रोजेक्ट में जेसनआरसल्ट द्वारा लौटाए गए मॉडलस्टेट त्रुटि प्रदर्शित करें?
- 8. पार्सिंग JSON दिनांक समय
- 9. हाइबरनेट कैश: क्या एल 2 कैश में संग्रहीत कैश किए गए क्वेरी द्वारा ऑब्जेक्ट लौटाए जाते हैं?
- 10. जावास्क्रिप्ट JSON दिनांक Deserialization
- 11. क्या मुझे लिनक्स में getpwuid() द्वारा लौटाए गए पॉइंटर को मुक्त करना चाहिए?
- 12. JSON स्कीमा जावास्क्रिप्ट टाइप किए गए ऑब्जेक्ट
- 13. जावा: दिए गए ऑब्जेक्ट को दिनांक
- 14. एक json वस्तु
- 15. PHP में JSON इंडेंटेशन
- 16. पार्स Json वस्तु जावास्क्रिप्ट में
- 17. क्या ऑब्जेक्ट लौटाए जाने पर स्थानांतरित होने की गारंटी है?
- 18. क्या jQuery AJAX अनुरोधों द्वारा लौटाए गए स्क्रिप्ट टैग को हटाता है?
- 19. क्या पोस्टग्रेएसक्यूएल किसी फ़ंक्शन द्वारा लौटाए गए सरणी से चयन कर सकता है?
- 20. stringWithCString बहिष्कृत ... तो मैं sysctlbyname द्वारा लौटाए गए char * के साथ क्या उपयोग करूं?
- 21. जेएसओएन में ट्विटर खोज एपीआई से एक PHP JSON ऑब्जेक्ट
- 22. क्या मुझे getenv() द्वारा लौटाए गए char * को मुक्त/हटा देना चाहिए?
- 23. JSON ऑब्जेक्ट
- 24. जैक्सन JSON नेस्टेड वस्तु
- 25. दिनांक वस्तु अंतिम बार संशोधित
- 26. CGImageGetDataProvider से लौटाए गए डेटा की लंबाई
- 27. कैसे जावास्क्रिप्ट दिनांक वस्तु
- 28. स्प्रिंग 3.1 JSON दिनांक स्वरूप
- 29. PHP दिनांक दिनांक DTSTART
- 30. क्या d3.json() फ़ंक्शन json ऑब्जेक्ट प्राप्त कर सकता है?
और आप सभी टाइमज़ोन जानकारी खो देंगे। निश्चित रूप से एक बहुवचन समय-क्षेत्र ऐप में स्वीकार्य उत्तर नहीं है। –