2012-05-21 11 views
7

क्या JSON में ऑब्जेक्ट्स के संदर्भ असाइन करना संभव है?जेएसओएन में संदर्भ संभव हैं?

[{ 
    name:"name", 
    Parent:[{ 
    name:"parentName" 
    Parent:[{ 
     .....//and so on 
    }] 
    }] 
}] 

मैं जावास्क्रिप्ट में यह पार करने के लिए है और यह भी व्यक्ति की name बदलने की जरूरत है: मैं डेटा है कि इस तरह दिखता है। मैं यह कैसे कर सकता हूँ?

+3

जावास्क्रिप्ट नहीं है स्पष्ट वस्तुओं संदर्भ। तुम क्या करने की कोशिश कर रहे हो? – taz

+0

मैं उन मानों को पार कर दूंगा और कुछ संचालन करूँगा जैसे व्यक्ति का नाम बदलना। –

+0

यदि यह JSON के बारे में है, तो इसका जावास्क्रिप्ट के साथ कुछ भी नहीं है, और इसके विपरीत। यदि आप संदर्भ चाहते हैं तो आपको अपनी ऑब्जेक्ट आईडी देना होगा और अपनी संरचना में इनका उपयोग करना होगा। एक्सएमएल के साथ पसंद है। –

उत्तर

6

आप नहीं कर सकते। आप स्ट्रिंग के रूप में पैरेंट को पथ निर्दिष्ट कर सकते हैं और उस रनटाइम पर मूल्यांकन कर सकते हैं, लेकिन जैसा कि JSON केवल तार, पूर्णांक, सरणी और शब्दकोश है, आप संदर्भों का उपयोग नहीं कर सकते हैं।

+0

आप एक संदर्भ तालिका वस्तु सहित मैन्युअल रूप से इसे हल भी कर सकते हैं। एक शब्दकोश की तरह। लेकिन यह निश्चित रूप से एक सही समाधान नहीं है। –

+0

इस तरह से JSON पर विकल्प क्या है? – HLL

+0

@HLL हुह? मैंने कहा कि आप JSON में _can't_ नहीं है। मैंने एक वैकल्पिक पुस्तकालय निर्दिष्ट नहीं किया है, लेकिन एक कामकाज। –

8

पुराना सवाल लेकिन JSON युक्ति और JSON जैसे कुछ संभवतः नए जवाब संदर्भhttps://json-spec.readthedocs.io/reference.html

[{ 
    "name": "John", 
}, 
{ 
    "name" : "Jack", 
    "parent": {"$ref": "#/0"} 
}, 
... 
] 

या संभवतः JSON पथ वाक्य रचना के साथ बेहतर http://goessner.net/articles/JsonPath/

[{ 
    "name": "John", 
}, 
{ 
    "name" : "Jack", 
    "parent": {"$ref": "$.[?(@.name=='John')]"} 
}, 
... 
] 
संबंधित मुद्दे