2015-06-18 7 views
5

मैं सिर्फ JSON जानने के लिए शुरू कर दिया:संख्या प्रकार

जो निम्न में से एक सही है:

var json = {"age":22} // my book writes like this 

या

var json = {age:22} // internet show example like this 

पीएचपी तूफान उत्पन्न

argument type number is not assignable to parameter type string 
उनमें से दोनों के लिए

यदि दूसरा सही है तो जेएस ऑब्जेक्ट के साथ क्या अंतर है।

+0

दोनों सही हैं, उद्धरण इस मामले में अनावश्यक हैं। – dfsq

+0

बीटीडब्ल्यू क्यों PHPstorm चेतावनी उत्पन्न करता है, मैं पागल हूँ ?? –

उत्तर

5

ठीक है, आप JSON शब्द का उपयोग कर रहे हैं, लेकिन उदाहरण जो आप दिखाते हैं वह JSON नहीं है। यदि आप सादा जावास्क्रिप्ट ऑब्जेक्ट्स के बारे में बात कर रहे हैं, तो आपके द्वारा दिए गए दोनों उदाहरण सही हैं। जब लोग JSON का संदर्भ लेते हैं, तो वे आम तौर पर क्लाइंट/सर्वर एक्सचेंजों पर भेजे गए डेटा प्रकार का जिक्र करते हैं, जो कि बहुत विशिष्ट है, और इसके लिए लिंटर्स हैं (उदाहरण के लिए jsonlint देखें)। PHPStorm की त्रुटि गलत है।

output

+0

धन्यवाद। तो पहले व्यक्ति को सामान्य जेएस ऑब्जेक्ट के रूप में माना जा सकता है? यही कारण है कि उनमें से दोनों अभी भी मूल्य प्रिंट कर सकते हैं। –

+1

@ हंसफ।, आपके द्वारा दिए गए दोनों उदाहरण पूरी तरह से मान्य जेएस ऑब्जेक्ट्स हैं। लेकिन केवल पहला उदाहरण JSON डेटा प्रकार है (बिना var var = 'part)। –

+1

धन्यवाद, मैं सिर्फ वैध स्टैंडर का पालन करना चाहता हूं, लेकिन अब मैं आपको भरोसा करता हूं! –

1

मूल रूप से JSON कुंजी मान जोड़े हैं, अपने मूल रूप से भंडारण डेटा

  • वर json = { "उम्र": "22"}: के लिए आपत्ति मूल्य अगर आप इस तरह का उपयोग आप प्राप्त कर सकते हैं जेसन ["आयु"] और json.age की तरह, दोनों कुछ स्थितियों में सहायक होते हैं और मूल्य लौटाया जाता है, आपको इसे परिवर्तित करने की आवश्यकता होती है (केवल इसकी आवश्यकता होती है)
  • var json = {age: 22}: यदि आप जैसे उपयोग करते हैं यह आपको जेसन ["]] प्रारूप की तरह मूल्य नहीं मिल सकता है, केवल json.age का उपयोग
  • प्राप्त करने के लिए किया जा सकता है 210
  • वर json = { "उम्र": 22} अपने का उपयोग कर प्रकार संख्या के रूप में ठीक किया जाना चाहिए और इसके अलावा आप json का उपयोग कर [ "उम्र"] यह प्राप्त कर सके

ऊपर उल्लेख किया परिदृश्यों अपने functionalites के संबंध में कर रहे हैं और उनका उपयोग

+0

तो आप कहते हैं कि वे दोनों वैध JSON हैं ?? –

+1

@ हंसफ।जेएसओएन वैधकर्ताओं के मुताबिक, var json = {"key": 22} सही है, और यदि आपके जेसन के पास कई डेटा हैं और लूपिंग की आवश्यकता है और इसके अनुसार डेटा को संशोधित करें, जैसे (jsonObj में var key) { console.log (jsonObj [key]); आपके जेसन } –

1

दोनों तरीकों जावास्क्रिप्ट में मान्य हैं।

var obj = { 
    'foo bar': 0, 
    'foo-bar': 0, 
    '': 0 
} 
1

जब JSON के साथ काम करने के लिए एक सत्यापनकर्ता/लिंटर एक अनिवार्य उपकरण है, विशेष रूप से डेटा के अपेक्षाकृत बड़े समूहों के साथ काम: लेकिन उद्धरण की तरह, विशिष्ट मामलों में की जरूरत है।

इन दोनों को भेजा जा रहा है http://jsonlint.com/ के माध्यम से परिणाम हैं:

मान्य JSON के रूप में पहली बार सत्यापन, दूसरे का पता चलता है:

Parse error on line 1: 
     {age: 22} 
    -----^ 
    Expecting 'STRING', '}' 
+0

__ + 1 में // कंसोल मान, सत्यापनकर्ता के लिए धन्यवाद। –

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