2013-01-02 12 views
6

नीचे 3 JSON सारणी संरचना प्रारूपों ... हैंJSON सारणी संरचना बदलाव

पहले एक, एक JSON.org में उल्लिखित है, एक मैं से परिचित हूँ है:

स्वरूप # 1

{"People": [ 
    { 
    "name": "Sally", 
    "age": "10" 
    }, 
    { 
    "name": "Greg", 
    "age": "10" 
    } 
]} 

दूसरा एक मामूली बदलाव है जो सरणी के तत्वों को नाम देता है। मैं व्यक्तिगत रूप से इसकी परवाह नहीं करता; आप कोड में किसी सरणी के तत्वों का नाम नहीं देते हैं (उन्हें इंडेक्स द्वारा एक्सेस किया जाता है), उन्हें JSON में क्यों नाम दें?

स्वरूप # 2

{"People": [ 
    "Person1": { 
    "name": "Sally", 
    "age": "10" 
    }, 
    "Person2": { 
    "name": "Greg", 
    "age": "10" 
    } 
]} 

यह पिछले एक एक और भिन्नता, काफी के लिए स्वरूप # 2 समान है, लेकिन क्योंकि यह अतिरिक्त घुंघराले ब्रेसिज़ जहां प्रतीत होता है मैं एक कूबड़ यह एक गलत है है वे संबंधित नहीं हैं।

स्वरूप # 3

{"People": [ 
    { 
    "Person1": { 
     "name": "Sally", 
     "age": "10" 
    } 
    }, 
    { 
    "Person2": { 
     "name": "Greg", 
     "age": "10" 
    } 
    } 
]} 

फिर, मुझे विश्वास है कि स्वरूप # 1 मान्य है के रूप में यह JSON सारणी JSON.org में उल्लिखित प्रारूप है हूँ। हालांकि, प्रारूप # 2 और प्रारूप # 3 के बारे में क्या? क्या उनमें से कोई वैध JSON माना जाता है? यदि हां, तो ये प्रारूप कहां से आए? मैं उन्हें JSON.org या विकिपीडिया पर उल्लिखित नहीं देखता हूं।

+0

वास्तव में, वे सभी अमान्य कर रहे हैं : http: // jsonlint .com/ – Pete

+0

ओह, मुझे कुछ विराम चिह्न याद आ रहा है ... फिक्सिंग। – MikeS

उत्तर

7

दोनों # 1 और # 3 कर रहे हैं - मान्य JSON (लगभग अल्पविराम के लापता देखते हैं), लेकिन सांकेतिक शब्दों में बदलना अलग संरचनाओं:

  • # 1 आप एक सरणी की वस्तुओं, देता है नाम के साथ प्रत्येक और उम्र स्ट्रिंग गुण
  • # 3 आप वस्तुओं, प्रत्येक के एक सरणी एक भी वस्तु संपत्ति, पूर्वी वायु कमान के साथ देता है एच नाम और उम्र स्ट्रिंग गुण के साथ। (के रूप में द्वारा [ ... ] परिभाषित) संपत्ति के नाम शामिल नहीं हो सकता सरणी:

# 2 अमान्य है।

1

समाधान स्वरूप # 1 डिफ़ॉल्ट रूप से के लिए:

array=[]; 
object={}; 

JSON कोड:

var Json = { 
    People:[] 
}; 
Json.People.push({ 
    "name": "Sally", 
    "age": "10"       
}); 
Json.People.push({ 
    "name": "Greg", 
    "age": "10"       
}); 

JSON परिणाम:

{"People": [ { "name": "Sally", "age": "10" }, { "name": "Greg", "age": "10" } ] }

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