2009-06-03 18 views
5
{"something":"1","mode":"true","number":"1234"} 

क्योंकि मुझे JSON की अपेक्षा करने पर 406 मिल रहा है।क्या यह वैध JSON है?

यह जर्सी के माध्यम से उत्पन्न किया जा रहा है, जिसे बताया गया है कि एक विधि @ JSON उत्पन्न करती है। यह एक डोजो xhrGet द्वारा प्राप्त किया जा रहा है जिसमें JSON को इसके हैंडल के रूप में सेट किया गया है।

संपादित करें - स्पष्ट करने के लिए, मुझे उस कोड में रूचि नहीं है जहां मैं मूल्यांकन करता हूं या ऐसा कुछ भी। सवाल बहुत आसान था - क्या यह वैध JSON है?

+0

वह कोड साझा करें जहां आप इसका मूल्यांकन करते हैं। –

+0

यह वैध JSON है। – Nosredna

उत्तर

14

यह है, लेकिन आपके पास बूलियन (mode) और संख्यात्मक (number) तत्व स्ट्रिंग के रूप में हैं। यह नहीं होना चाहिए:

{"something":"1","mode":true,"number":1234} 
+0

धन्यवाद, इसमें देखेंगे। – mtrc

1

यदि आप सीधे संख्याओं का उपयोग करना चाहते हैं, तो आपको उन्हें उद्धरण में नहीं रखना चाहिए। यह मान्य JSON है, लेकिन संभावना है कि आप क्या करना चाहते हैं:

{ "कुछ": 1, "मोड": "सच", "संख्या": 1234}

आप और अधिक जोड़ने की जरूरत अगर आप बेहतर जवाब चाहते हैं तो जानकारी।

संपादित करें: एह ... और हाँ, बूलियन को उद्धृत नहीं किया जाना चाहिए, जब तक कि आप किसी भी कारण से इसे स्वयं परिवर्तित करने के लिए नहीं चाहते हैं।

7

यह वैध JSON है यदि शब्दकोश के सभी मूल्य स्ट्रिंग हैं।

{ "कुछ":: 1, "मोड": सच है, "संख्या": 1234}

आमतौर पर, तथापि, एक 406 त्रुटि होता है जब आप एक प्रतिक्रिया प्रकार के लिए पूछना (जैसे यह भी मान्य JSON है एचटीएमएल या जेसन के रूप में) और सर्वर इसे उस प्रकार में नहीं भेज सकता है। आपको लगता है कि इनपुट अमान्य क्यों है?

0
  • हाँ यह मान्य JSON
  • हालांकि अगर आप एक HTTP अनुरोध का परिणाम के रूप में इस outputting पर योजना बना रहे हैं, तो आप सभी उद्धरण से बचने के लिए

$ str की आवश्यकता होगी है = " {\ "कुछ \": \ "1 \", \ "मोड \": \ "सत्य \", \ "संख्या \": \ "1234 \"} "; echo $ str

6

मैं जेएसओएन के अपने पहाड़ों का परीक्षण करने के लिए जेसनलिंट (http://www.jsonlint.com/) नामक एक साधारण प्रतिलिपि/पेस्ट टूल का उपयोग करता हूं। आप इसे खोद सकते हैं।

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